我在这里搜索了这个错误的答案&我试过这些技巧,但似乎每次工作中都会出现其他东西,我在这里要做的是在数据库中显示一个学生列表,每个学生都有一个复选框,如果用户选中复选框,学生应该被添加到他已经在上面的下拉列表中选择的课程中,这是代码:
<?php
`$connectdb = mysql_connect('localhost','root','sara') or die ("Not Connect");
if (!$connectdb)
{
die('Could not connect :'. mysql_errno());
}
$selestdb = mysql_select_db('iexa', $connectdb) or die ("not selected database");
$qu = mysql_query("SELECT ID,Name FROM Course ORDER BY ID asc") or die ("mysqlerror");
$result = mysql_query ($qu);
echo "<select name=" .$course. " value=''>Course</option>";
echo "<option value=0>Course ID</option>";
$curvalue=2;
while ($row = mysql_fetch_assoc($qu)){
echo '<option value="$curvalue">".$row[ID]." ".$row[Name]."</option>';
$curvalue = $curvalue+1;
}
echo "</select>";
$query = mysql_query("SELECT St_ID,First,Last FROM student ORDER BY First asc") or die ("mysql error");
echo " <table width='40%' border='1' cellpadding='5'>
<tr>
<td>Check to add to course</td>
<td>Student ID</td>
<td>Student Name</td>
</tr> ";
while ($row = mysql_fetch_assoc($query)){
echo "
<tr>
<td> <input type="checkbox /" name="foo[] /" value=".$row['St_ID']./"> </td>
<td>".$row['St_ID']./"</td>
<td>".$row['Fisrt']./" ".$row['Last']./"</td>
</tr>
";
}
echo "</table>";
?>
这是因为在倒数第二个echo语句中,字符串中有双引号,并且用双引号将字符串括起来。。
我用单引号把字符串括起来,并用串联来附加变量:
echo '
<tr>
<td> <input type="checkbox" name="foo[]" value="'.$row['St_ID'].'"> </td>
<td>'.$row['St_ID'].'</td>
<td>'.$row['Fisrt'].' ' .$row['Last'].'</td>
</tr>';
$connectdb
之前的第一个字符`
不应该在那里。移除它。
php指令不应放在引号或单引号之间,请删除php初始标记后的第一个'
您的代码在这里是错误的:
while ($row = mysql_fetch_assoc($query)){
echo "<tr>
<td> <input type='"checkbox'" name='"foo[]'" value='". $row['St_ID'] ."'" /> </td>
<td>" . $row['St_ID'] . " </td>
<td>" . $row['Fisrt'] . " " .$row['Last'] ." </td></tr>";