PHP while循环不mysql_result
工作,我有一个医生查询:PHP while循环不mysql_result
// Primary Physician Query
$qPhysician = mysql_query("SELECT * FROM physicians ORDER BY lastName ASC, firstName ASC");
$rowPhysician = mysql_fetch_array($qPhysician);
// State Query for Physician
$idStatePhysician = $rowPhysician['idstate'];
$qStatePhysician = mysql_query("SELECT * FROM states WHERE idstate=$idStatePhysician");
$rowStatePhysician = mysql_fetch_array($qStatePhysician);
// City Query for Physician
$idCityPhysician = $rowPhysician['idcity'];
$qCityPhysician = mysql_query("SELECT * FROM cities WHERE idcities=$idCityPhysician");
$rowCityPhysician = mysql_fetch_array($qCityPhysician);
我有一个while循环来显示所有的医生行到表:
$num = mysql_num_rows($qPhysician);
$i=0;
while($i < $num)
{
$idphysicians = $rowPhysician['idphysicians'];
if ($i % 2 == 0){
echo "<tr class='even' onclick=\"DoNav('physicianUpdate.php?idphysicians=$idphysicians');\">";
}
else{
echo "<tr class='odd' onclick=\"DoNav('physicianUpdate.php?idphysicians=$idphysicians');\">";
}
echo "<td>" . mysql_result($qPhysician,$i,"lastName") . "</td>";
echo "<td>" . mysql_result($qPhysician,$i,"firstName") . "</td>";
echo "<td>";
if(isset($rowPhysician['idcity'])){echo mysql_result($qCityPhysician,$i,"name");} else{}
echo "</td>";
$i++;
}
我的问题是:我我的医生桌上有3行数据。每个都有一个“idcity”的值,反映了我的City表中的idnumber。然而,数据的第1行正确显示idcity =名称,但第二和第三行给了一个错误:
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 1 on MySQL result index 7 in C:\wamp\www\iPOC\physicians.php on line 55
另外,如果我有该行之一idcity空值,它也产生一个错误。
请帮忙!提前致谢!
问题是你使用mysql_result()
带有单向结果。正确的解决方法是使用mysql_fetch_*()
函数之一来检查while循环中的返回值。
while($row = mysql_fetch_array($qPhysician)) {
...
}
像这样的东西可能会更好地工作:
$qCityPhysician = mysql_query("SELECT * FROM cities WHERE idcities=$idCityPhysician");
$qCityPhysicians = array();
while($row = mysql_fetch_array($qCityPhysician)) {
$qCityPhysicians[$row['idcity']] = $row['name'];
}
$qPhysician = mysql_query("SELECT * FROM physicians ORDER BY lastName ASC, firstName ASC");
$i=0;
while($row = mysql_fetch_array($qPhysician)) {
if ($i % 2 == 0) {
echo "<tr>";
echo "<td>" . $row['lastName'] . "</td>";
echo "<td>" . $row['firstName'] . "</td>";
echo "<td>";
if(isset($row['idcity'])) {
echo $qCityPhysicians[$row['idcity']];
}
echo "</td>";
$i++;
}
}
你真的想要“如果($ i%2 == 0){”在那里?这会导致它跳过每一个奇数行。 –
它什么都不显示? –
我之所以这样。这是为我的交替行︰if($ i%2 == 0){ \t \t \t \t echo“
- 1. while() - 不循环 - PHP
- 2. PHP for循环while while循环
- 3. PHP - While循环
- 4. PHP while循环
- 5. PHP while while循环永不结束
- 6. php simplexml foreach while while循环
- 7. Java while while循环不循环
- 8. php,SimpleXML,while循环
- 9. while循环在php
- 10. PHP MSSQL while循环
- 11. PHP MySQL while循环
- 12. while循环为php
- 13. php&mysql while循环
- 14. PHP For循环到While循环转换
- 15. PHP虽然在While循环中循环
- 16. while while循环
- 17. while while循环
- 18. while while while while while循环
- 19. do while循环不循环也不做
- 20. Php while循环加载表
- 21. PHP while()停止循环
- 22. while循环在php错误
- 23. PHP while循环与数组
- 24. PHP while循环成问题
- 25. PHP递增while循环
- 26. php邮件while循环
- 27. PHP While循环和jQuery
- 28. PHP while循环+传递值
- 29. PHP while循环错误
- 30. 实现while循环PHP
当我把它改成这个代码,它显示像数百同样的事情的记录,它并没有停止。所以我手动杀死了任务加载 –
确定它有点工作,但它只显示最后2行。 “阿诺德Villaluz”行没有显示。 –