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>";

?>

私は引用符とPHPのC ++の使用法に慣れていて、私を混乱させています。

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

名前を付けるもう 1 つの方法は、<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 に答える