2016-11-10 7 views
0

データベースに存在しないものをユーザが検索すると "結果が見つかりません"というメッセージを表示したい。
ここに私のコードですが、それは動作しませんでした。表示 "結果が見つかりません"データベースに結果がない場合

誰かが私のコードで何が問題なのか教えていただけますか?

<?php 
     include 'database_conn.php'; 

     $eventCat = $_GET['catID']; 
     $eventVenue =$_GET['venueName1']; 

     $sqlSearch = " SELECT * FROM te_events 

        WHERE catID = '$eventCat' AND venueID = '$eventVenue'"; 


     $rsSearch = mysqli_query($conn,$sqlSearch) or die(mysqli_error($conn)); 


    ?> 
    <!DOCTYPE html> 
    <html> 
    <head> 
    <title></title> 
    </head> 
    <body> 

     <thead> 
     <th>Title</th> 
     </thead> 
    <?php 
    while ($row =mysqli_fetch_assoc($rsSearch)){ 
      //extract each field$ 
      $id   = $row ["eventID"]; 
      $title  = $row ["eventTitle"]; 
      $desc  = $row ["eventDescription"]; 
      $venueId = $row ["venueID"]; 
      // $venue  = $row ["venueName"]; 
      // $location = $row ["location"]; 
      $categoryId = $row ["catID"]; 
      //$category = $row ["catDesc"]; 
      $eStart  = $row ["eventStartDate"]; 
      $eEnd  = $row ["eventEndDate"]; 
      $ePrice  = $row ["eventPrice"]; 


     if(!empty($row)){ 

     //start a row 
      echo"<tr>\n"; 
      //output the url 
      echo"<td>\n"; 
      echo"<div><a href =\"allDetails.php?eventID=$id\"> 
       $title</a></div>\n"; 
      echo"</td>\n"; 
     } 
      else{ 
       echo "No event found! Please select other option.\n"; 



     } 

     } 
     mysqli_free_result($rsSearch); 
     mysqli_close($conn); 

    ?> 

    </body> 
    </html> 
+0

if(num_rows> 0){while ... {...}} else {// not found} 'ここで擬似です。 –

+0

@ Fred-ii- u while($ row = mysqli_fetch_assoc($ rsSearch))のinfrontを(if num_row> 0)に置きますか? –

+1

@ChiShenはい。いいえを確認する必要があります。結果セットを反復処理する前に返された行の数。 – Maximus2012

答えて

2

結果の行数を確認し、その結果に基づいてコードを記述します。

$rows=mysqli_num_rows($rsSearch); 

if($rows > 0) { 

while ($row = mysqli_fetch_assoc($rsSearch)){ 

// code for results 

} 

} else { 

// legend for no results 

} 

編集:クエリがなかった場合は、行が人口または空であるかどうかをMySQLの結果配列を依頼する必要はありません、ライン自体が空になることはありません、それは単に、配列には存在しません。任意のデータを見つける。

関連する問題