0

我已经更改了代码,现在出现了一个新错误:

Parse error: syntax error, unexpected '<' in
 /webroot/c/o/..../...../www/a/drop_down_car_test.php on line 19 

这是代码:

<?php

//////connecting to our sql server
$db_connect=mysql_connect("xxxx", "xxxxxxxxx", "xxxxxxxxxx")     or die("not logged in");
//////now selecting our database
$db_select=mysql_select_db("coden003_car") or die(mysql_error());
////this query is used the first time the page loads
$query = mysql_query("SELECT * FROM car "); 

echo '<form action="drop_down_car_test.php?" method="GET">';
echo '<table border = \"1\">';
echo '<tr><td>id</td><td>car</td><td>name</td>';

while($row=mysql_fetch_array($query)){
echo "<tr><td>";
echo $row['id'];
echo "</td><td>";
echo "<select name='carDropDown." . $row['id'] . "' >";
<option value="1">ford</option>;  <---------line 19
<option value="2">toyota</option>;
<option value="3">gmc</option>;
</select>";
echo "</td><td>";
echo $row['name'];
echo "</td><td>";
}////end while
echo"<table>";

echo '<td bgcolor=#7FFF00><input type="submit" value="Update"></td>';
echo "</form>";

?>

我习惯于 C++ 使用引号,而 PHP 让我感到困惑。

4

3 回答 3

1

在您的代码中:

echo '<select name="carDropDown.$row['id']">

你需要做到:

echo "<select name=\"carDropDown.{$row['id']}\">

您没有转义',而且您不能在单引号内使用变量,但可以在双引号内使用一个变量(数组调用必须包含在 { 和 } 中)。

当然',该字符串末尾的关闭需要更改为"

而且您在该字符串的末尾缺少一个分号。

而且您没有关闭该块(您忘记了关闭})。

于 2012-12-05T00:32:01.673 回答
0

试试这些:

echo "<select name='carDropDown." . $row['id'] . "' >";

或者

echo "<select name=carDropDown.$row['id'] >";

在 PHP 中,您可以像这样 CONCAT 字符串:

echo "hello" . "world" . $yourVariable . " Something else ";

http://php.net/manual/en/internals2.opcodes.concat.php

于 2012-12-05T00:38:27.320 回答
0

命名的另一种方法是使用作为数组键的数组创建一个数组<select>,这将使它更容易阅读。$_GET[]carDropDown$row['id']

echo '<select name="carDropDown['.$row['id'].']">

现在在 php 方面你可以做 -

foreach ($row['id'] as $id){
$carName=$_GET['carDropDown'][$id]];
echo $carName;}
于 2012-12-05T01:05:47.970 回答