-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

これらは、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 に答える