2016-04-25 15 views
0
// Populate headers 
    $fields = $result->fetch_fields(); 
    foreach ($fields as $field) 
     printf("<th>%s</th>", $field->name); 

    printf("</tr>"); 

    // Write to table 
    while ($myvar = $result->fetch_row()) { 

     $date = $myvar[0]; 
     $room_ID = $myvar[1]; 
     $description = $myvar[2]; 
     $firstname = $myvar[3]; 
     $lastname = $myvar[4]; 
     $message = $myvar[5]; 
     $period = $myvar[6]; 

     printf("<tr>"); 
     printf("<td>%s</td><td>%s</td>", $date, $room_ID); 
     printf("<td>%s</td><td>%s</td>", $description, $firstname); 
     printf("<td>%s</td><td>%s</td><td>%s</td>", $lastname, $message, $period); 
     printf("</tr>"); 

    } 

MySQLiの結果が空の場合、「結果が表示されません」というメッセージが表示されます。問題は、ヘッダーが配列の一部として返されることです。これをどのように達成できますか?MySQLの結果が空であるかどうかをチェックする方法

+3

num_rows()が役立ちます。 http://php.net/manual/en/mysqli-result.num-rows.php –

答えて

0

num_rowsを使用すると、クエリから取得されたレコードの合計値を取得できます。

$row_cnt = $result->num_rows; 
if($row_cnt>0){ echo "Have data";}else{echo "No data";} 
0

行数で確認する必要があります。ゼロを返すと、テーブルに行が含まれていないことを意味します。以下のコードを試してください。

// Populate headers 
    $fields = $result->fetch_fields(); 
    foreach ($fields as $field) 
     printf("<th>%s</th>", $field->name); 

    printf("</tr>"); 

    // Write to table 
    if($result->num_rows== 0){ 
    echo "No Result to display"; 
    }else{ 
    while ($myvar = $result->fetch_row()) { 

     $date = $myvar[0]; 
     $room_ID = $myvar[1]; 
     $description = $myvar[2]; 
     $firstname = $myvar[3]; 
     $lastname = $myvar[4]; 
     $message = $myvar[5]; 
     $period = $myvar[6]; 

     printf("<tr>"); 
     printf("<td>%s</td><td>%s</td>", $date, $room_ID); 
     printf("<td>%s</td><td>%s</td>", $description, $firstname); 
     printf("<td>%s</td><td>%s</td><td>%s</td>", $lastname, $message, $period); 
     printf("</tr>"); 

    } 

}

0

シンプル利用NUM_ROWS

if($result->num_rows== 0){ 
echo "no results to display" 
    } 
else{ 
    while ($myvar = $result->fetch_row()) { 
    //Your Code here 
} 
0

あなたがレコードの合計値を取得するためにnum_rowsを使用することができます。

$row_count = $result->num_rows; 
if($row_count>0) 
{ 
    echo "Data Available"; 
} 
else 
{ 
    echo "No Data Available"; 
} 
関連する問題