PHP循环mysql的结果和计数


PHP loop through mysql results and count

我讨厌我不能弄清楚这个问题,不幸的是我没有时间去弄清楚,所以任何帮助都是感激的。

我有一个表DATA字段AREAID和arename。我需要代码在结果中循环24次,因为这是可用的AREAIDs的数量。在表中,可能只有10个条目。所以,也许没有人为AREAID 1投入一些东西。我仍然希望它返回AREAID1并说NOT found。当它循环并找到AREAID 2时,它将显示arename。

希望是清晰如泥。再次感谢你的帮助!!

$query="select areaid,arename from data";
    $result = do_query($query);
{    $x=0;
     while($row = do_fetch_result($result)){
$x=$x+1;
$areaid=$row['areaid'];
$areaname=$row['arename'];
if ($areaid==$x) {
echo "AreaID:".$areaid;
 echo "found".$x."<br>";
  }
else {
echo "AreaID:".$areaid;
echo "not found".$x."<br>";
}}

如果x==1AREAID 1缺失,并且$row['areaid'] ==2,那么您将找不到其余的。

你没有找到1,你说它丢失了,你增加x,如果它是2,现在可能与$row['areaid']匹配,但你也得到了一个新的行,失去了一个可能的AREAID 2等。

怎么样
$x=0;
while($row = do_fetch_result($result)){
    $areaid=$row['areaid'];
    $areaname=$row['areaname'];
    while($x < $areaid) {
        echo "AreaID:".$areaid;
        echo "not found".$x."<br>";
        $x=$x+1;
    }
    echo "AreaID:".$areaid;
    echo "found".$x."<br>";
    $x=$x+1;
}
while($x <= 24) {
    echo "AreaID:".$areaid;
    echo "not found".$x."<br>";
    $x=$x+1;
}

你就不能检查一下所有的结果吗??当你只有ID而没有值时,做一些如果,像下面?

<?php
$con=mysqli_connect("localhost","my_user","my_password","my_db");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
$sql="select areaid,arename from data";
$result=mysqli_query($con,$sql);
// Fetch all
$result = mysqli_fetch_all($result,MYSQLI_ASSOC);
foreach($result as $array){
echo $array[areaId] . '=>';
if(!empty($array[areaName])){
   echo $array[areaName] . '<br />';
} else {
    echo 'Not Found<br />';
}