-2

如果没有更多行可显示但无法正常工作,我正在尝试让此代码执行其他操作,谁能指出我解决此问题的正确方向。

if($mymethod == "LOADGEMINVENTORY")
{

 $result = mysqli_query($con,"SELECT * FROM gemshop_table LIMIT $startrow, 6")or
die(mysql_error());//Pulles six items at a time to display.

if(!mysql_error()){ echo ("DISPLAYING6OFINVENTORY^");         
   while($row = mysqli_fetch_array($result))
     { 
       echo $row['id'];echo (",");echo $row['image'];echo ("^"); 
     }
     }else{echo ("NOINVENTORY");}

}
4

2 回答 2

1

你正在mysqlimysql. 你真的应该在你的代码中使用其中之一。

如果您使用的是 mysqli,则可以执行以下操作来获取行数:

$row_count = $result->num_rows;

if( $row_count == 0 ) {
echo "NOINVENTORY";
}
于 2013-08-03T04:15:45.283 回答
-1

这些不是 PHP(或我所知道的大多数编程语言)中的 while/else 条件。

while()将自动循环遍历数据直到结束。因此,在您的情况下,如果您想在检索到所有数据显示某些内容,您只需在 while() 循环之后显示它。

while($row = mysqli_fetch_array($result))
{ 
   echo $row['id'];echo (",");echo $row['image'];echo ("^"); 
}

echo "Show anything you want after the data above.";

但是,在我看来,您想在有数据时显示记录,而在没有数据时显示 NOINVENTORY。为此,使用带有num_rows的if()语句

if(!mysql_error())
{
     if (0 == mysqli_num_rows ($result))
     {
        echo "NOINVENTORY";
     }
     else
     {
        while($row = mysqli_fetch_array($result))
        { 
           echo $row['id'];echo (",");echo $row['image'];echo ("^"); 
        }
     }
}
于 2013-08-03T04:29:30.797 回答