PHP循环通过mysql结果和计数

时间:2015-07-24 17:22:04

标签: php mysql loops

我讨厌我无法解决这个问题,不幸的是我没有时间去玩弄,所以任何帮助都是值得欣赏的。

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

希望这很清楚。再次感谢您的帮助!!

$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>";
}}

2 个答案:

答案 0 :(得分:0)

你不能只是通过所有的结果来解决?如果您只有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 />';
}

答案 1 :(得分:0)

如果缺少x==1AREAID 1,并且$ row [&#39; areaid&#39;] == 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;
}