根据用户选择创建具有唯一HTML标记的8个变量


Creating 8 Variables with unique HTML tags based on user selection

我遇到了一个问题,我不知道该如何处理。

我想让我的网站的用户能够从5件事中选择,比如说;

汽车,火车,飞机,雪地摩托,ATV。

根据他们的选择,它将重定向到带有变量的页面?choice=cars在URL中(这部分我知道怎么做。)例如configure_choice.php?choice=汽车

然后,在访问这个页面时,我想生成8个下拉框,每个下拉框都有不同的HTML标识符。请注意,这些下拉框根据选择而有所不同。

所以,如果他们选择汽车,我会想要:

<select name="car1" class="dropdown">
<option>Chevrolet</option>
<option>GM</option>
<option>Cadillac</option>
</select>
<select name="car2" class="dropdown">
<option>Chevrolet</option>
<option>GM</option>
<option>Cadillac</option>
</select>
<select name="car3" class="dropdown">
<option>Chevrolet</option>
<option>GM</option>
<option>Cadillac</option>
</select>

以此类推,一直到8。

我想过分配一些类似的东西

for($j = 1, $j <= 8, ++$j)
{
$car_dropdown_$j = "<select name=""car" . "$j"" class="dropdown">
    <option>Chevrolet</option>
    <option>GM</option>
    <option>Cadillac</option>
    </select>";
echo $car_dropdown_$j;
}

但是当我尝试运行这个循环时,我会得到以下错误:

分析错误:语法错误,意外的")",应为";"在第5行上的C:''web''encodetest.php中

我也不知道你是否可以把一个变量放在HTML标记中,让它正常工作。

基本上,我试图设置8个变量,我可以把它们放在HTML的某个地方,并且下拉框是唯一的,所以当发送到MySQL时,它们可以被识别。这里有人帮忙吗?

非常感谢!

for($j = 1; $j <= 8; $j++) //goodeye adam catching the ;
{
$car_dropdown[$j] = "<select name='car" . $j . "' class='"dropdown'">
    <option>Chevrolet</option>
    <option>GM</option>
    <option>Cadillac</option>
    </select>";
echo $car_dropdown[$j];
}

正确的语法应该是:for($j = 1; $j <= 8; ++$j)。语句由;分隔。

要将变量插入字符串,您可以执行

echo "<select name='"car" . $j . "'" class='"dropdown'">"; 

echo "<select name='"car$j'" class='"dropdown'">"; 

请注意,字符串中的引号应使用'进行转义,否则将被视为字符串的末尾。

有一些语法错误,其他答案也不起作用。。。

首先,您需要使用在for循环中。对于动态变量,您需要使用[$j]

要将字符串粘在一起,必须使用".$j."

for($j = 1; $j <= 8; $j++){
    $car_dropdown[$j] = '<select name="car' . $j . '" class="dropdown">
        <option>Chevrolet</option>
        <option>GM</option>
        <option>Cadillac</option>
        </select>';
    echo $car_dropdown[$j];
}