php while循环未正确执行

php while循环未正确执行,php,html,Php,Html,我的数据库中有三个病房A、B、C,还有4名员工(A病房3名,B病房4名,C病房1名),下面的脚本正确打印出所有病房,打印出A病房的3名员工,但仅此而已(即,它仅与A病房进行比较,而不是其他2名) 您能看到php执行顺序中任何明显的错误吗?我是PHP新手,因此我不太理解语法=) while($row=mysql\u fetch\u数组($wardNames)){ 回声(“”); 而($employeerow=mysql_fetch_array($Employees)){//只打印出病房A上的员工,

我的数据库中有三个病房A、B、C,还有4名员工(A病房3名,B病房4名,C病房1名),下面的脚本正确打印出所有病房,打印出A病房的3名员工,但仅此而已(即,它仅与A病房进行比较,而不是其他2名)

您能看到php执行顺序中任何明显的错误吗?我是PHP新手,因此我不太理解语法=)

while($row=mysql\u fetch\u数组($wardNames)){
回声(“”);
而($employeerow=mysql_fetch_array($Employees)){//只打印出病房A上的员工,而不打印B或C上的员工。为什么?
如果($employeerow['Ward']==$row['Name']){
echo(“$employeerow['Name']);
}
}
}

在对结果集进行迭代后,结果集将被耗尽,因此不再适用。将其存储在外循环之前的数组中:

$all_employees = array();
while($row = mysql_fetch_array($Employees)) {
    $all_employees[] = $row;
}

while ( $row = mysql_fetch_array($wardNames) ) {

    echo("<tr><td><a href=\"javascript:displayWard('" . $row['Name'] ."')\">
          <div class='wardHeader'><div class='plus'></div><div class='wardName'><b>" . $row['Name'] . " </b></div>
          </div>
          </a></td></tr>");

    foreach($all_employees as $employeerow)
        if($employeerow['Ward']==$row['Name']){
            echo("<tr><td>" . $employeerow['Name'] . "</td></tr>"); 
        }
    }
}
$all_employees=array();
while($row=mysql\u fetch\u数组($Employees)){
$all_员工[]=$row;
}
while($row=mysql\u fetch\u数组($wardNames)){
回声(“”);
foreach($employeerow为所有员工)
如果($employeerow['Ward']==$row['Name']){
echo(“$employeerow['Name']);
}
}
}

向我们展示您的查询……不再支持mysql_*函数,它们已被正式弃用,不再维护,将来将被删除。你应该用PDO或MySQLi更新你的代码,以确保将来项目的功能。只是学究,但是
echo
不是一个函数,而是一种语言结构,就像
return
一样。这里不需要括号,当与语言构造函数结合使用时,它们只用于否决运算符优先级。技巧是hanks,will check out=)你不需要这样做。。一个简单的查询就可以完成这项工作。。这种方式可能会耗尽数据库资源。
$all_employees = array();
while($row = mysql_fetch_array($Employees)) {
    $all_employees[] = $row;
}

while ( $row = mysql_fetch_array($wardNames) ) {

    echo("<tr><td><a href=\"javascript:displayWard('" . $row['Name'] ."')\">
          <div class='wardHeader'><div class='plus'></div><div class='wardName'><b>" . $row['Name'] . " </b></div>
          </div>
          </a></td></tr>");

    foreach($all_employees as $employeerow)
        if($employeerow['Ward']==$row['Name']){
            echo("<tr><td>" . $employeerow['Name'] . "</td></tr>"); 
        }
    }
}