我有一个显示来自table student的数据的while循环和一个额外的列,该列显示来自employee表id的下拉选项,选中后,更新student表中的id。我有以下代码,但在显示时,每行只显示雇主表中的1个数据。
这是while循环。任何帮助将不胜感激,提前谢谢。
while(($row = mysql_fetch_array($search_result)) && ($row1 =mysql_fetch_array($search_result2))){
echo"<form action=manualallocation.php method=post>";
echo"<tr>";
echo "<td>" . $row['stud_ID']."</td>";
echo "<td>" . $row['stud_NAME']."</td>";
echo "<td>"."<Select name='ex1'>"."<option value='" .$row1['emp_id'] ."'>" .$row1['emp_id'] ."</option>"."</select>";
echo "<td>" . "<input type='char' name='emp_location' value='" .$row1['emp_location'] . "'/> </td>";
echo "<td>" . "<input type='char' name='stud_FIELDOFSTUDY' value='" .$row['stud_FIELDOFSTUDY'] . "'/> </td>";
echo "<td>" . "<input type='char' name='student_yearCompleted' value='" .$row['student_yearCompleted'] . "'/> </td>";
echo "<input type='hidden' name=hidden value=" . $row['stud_ID'] . ">";
echo "<td>" . "<input type='submit' name='submit' value=update". "></td>";
echo "</tr>";
echo "</form>";
}
答案 0 :(得分:0)
while(($row = mysql_fetch_array($search_result)) && ($row = mysql_fetch_array($search_result2))){
在这里,您使用第二个语句重写$row
变量。你应该使用不同的变量。
while(($row_stud = mysql_fetch_array($search_result)) && ($row_emp = mysql_fetch_array($search_result2))){
然后在处理emp数据时使用$row_emp
$row_emp['emp_id']
和学生一起 - $row_stud
$row_stud['stud_ID']
答案 1 :(得分:0)
1)将&&
替换为and
。请查看此link以获取文档。
注意'and vs &&'
或'|| vs or'
:
<?php
$bool = true && false;
var_dump($bool); // false, that's expected
$bool = true and false;
var_dump($bool); // true, ouch!
?>
因为&#39;和/或&#39;优先级低于&#39; =&#39;但是&#39; || /&amp;&amp;&#39;有更高的。
2)在while循环$row1
和$row2
中使用两个不同的变量。所以第一个变量不能覆盖第二个。
while(($row1 = mysql_fetch_array($search_result)) and ($row2 = mysql_fetch_array($search_result2)))
对于您的下拉菜单,请检查以下链接: -
警告强>
mysql_ *在PHP 5.5.0中已弃用,并且已在PHP中删除 7.0.0。相反,应该使用MySQLi或PDO_MySQL扩展。
希望它会对你有所帮助:)。