2015-02-06 59 views
0

我創建了一個html + php頁面,其中它在mysql數據庫中進行搜索。當我的表包含幾條記錄時,我可以得到輸出,但是當我的表有超過100條記錄時,當我搜索並顯示我的else語句是「0記錄」時,它將不再顯示記錄。在有很多記錄的大表中搜索/查詢

// Create connection 
$conn = mysqli_connect($servername, $username, $password, $dbname); 

// Check connection 
if (!$conn) { 
    die("Connection failed: " . mysqli_connect_error()); 
} 

if(!empty($sfname) || !empty($sgen) || !empty($sdoc) || !empty($smisc) || !empty($ssick) || !empty($sothers)){ 

     $genQueryPart = !empty($sgen) ? "Gender LIKE '%$sgen%'" : ""; 
     $fnameQueryPart = !empty($sfname) ? "FullName LIKE '%$sfname%'" : ""; 
     $docQueryPart = !empty($sdoc) ? "Doctor LIKE '%$sdoc%'" : ""; 
     $miscQueryPart = !empty($smisc) ? "Misc LIKE '%$smisc%'" : ""; 
     $sickQueryPart = !empty($ssick) ? "Sickness LIKE '%$ssick%'" : ""; 
     $othersQueryPart = !empty($sothers) ? "Others LIKE '%$sothers%'" : ""; 

     $arr = array($genQueryPart, $fnameQueryPart,$docQueryPart,$miscQueryPart,$sickQueryPart,$othersQueryPart); 

     $sql = "select * from index where "; 

     $needsAnd = false; 
    for ($i = 0; $i < count($arr); $i++) { 
     if ($arr[$i] != "") { 
      if ($needsAnd) { 
       $sql .= " AND "; 
      } 

      $needsAnd = true; 
      $sql .= " " . $arr[$i]; 
     } 

    } 

//Get query on the database 
    $result = mysqli_query($conn, $sql); 
    mysqli_store_result(); 
    //Check results 
    if (mysqli_num_rows($result) > 0) 
    { 
    //Headers 
     echo "<table border='1' style='width:100%'>"; 
    echo "<tr>"; 
     echo "<th>File ID</th>"; 
    echo "<th>Full Name</th>"; 
    echo "<th>Gender</th>"; 
    echo "<th>Doctor</th>"; 
    echo "<th>Misc</th>"; 
    echo "<th>Sickness</th>"; 
    echo "<th>Others</th>"; 
    echo "</tr>"; 

    //output data of each row 
     while($row = mysqli_fetch_assoc($result)) 
     { 
     echo "<tr>"; 
        echo "<td>".$row['FileID']."</td>"; 
        echo "<td>".$row['FullName']."</td>"; 
        echo "<td>".$row['Gender']."</td>"; 
        echo "<td>".$row['Doctor']."</td>"; 
        echo "<td>".$row['Misc']."</td>"; 
      echo "<td>".$row['Sickness']."</td>"; 
      echo "<td>".$row['Others']."</td>"; 
       echo "</tr>"; 

     } 
       echo "</table>"; 
    } 
else { 
     echo "0 results"; 
    } 

} else { 
    echo "You must enter at least one value"; 
} 

mysqli_close($conn); 

?> 
+1

這個phpmyadmin如何關聯? – 2015-02-06 18:57:35

+0

如果(mysqli_num_rows($ result)> 0) {'檢查結果 if(true) {'並查看是否打印了任何結果,如果沒有打印結果,則應檢查結果 查詢失敗其他地方,如果他們那麼你可能需要存儲你的結果 – cmorrissey 2015-02-06 18:57:59

+0

由於即時通訊使用phpmyadmin來處理我的數據庫,我想有可能需要做一些設置時,使用大值或什麼的表.. ..對不起我很喜歡這個 – 2015-02-06 19:28:28

回答

0

如果條件和分頁在搜索後顯示超過100條記錄,則使用該選項。對使用分頁查詢後的結果數進行計數,以顯示每頁的記錄數。這對於顯示大量記錄是個不錯的主意。 不要將Php和Html合併在一起。在一個函數中獲取記錄並且使用是在HTML中集成

+0

你能告訴我如何做到這一點?我的意思是像一個exxample代碼 – 2015-03-12 17:29:13