使用基于用户选择的唯一HTML标记创建8个变量

时间:2013-08-01 19:54:45

标签: php mysql loops

我遇到了一个问题,我不知道应该怎么做。

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

汽车,火车,飞机,雪地车,全地形车。

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

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

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

<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时,可以识别它们。这里有什么帮助吗?

非常感谢!

3 个答案:

答案 0 :(得分:1)

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];
}

答案 1 :(得分:0)

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

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

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

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

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

答案 2 :(得分:0)

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

首先,您需要在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];
}