2016-10-03 29 views
-3

請我需要你的幫助..如何在html搜索表單中搜索多個id以獲取mysql的mysql行? (隨機和順序)

我可以填寫一個HTML表格選擇板作爲一個選項查看一個人結果和卷號(123456)搜索,查看所有列...

下面的PHP

<?php 

// php code to search data in mysql database and set it in input text 

if(isset($_POST['search'])) 
{ 
// id to search 
$roll = $_POST['roll']; 
$board = $_POST['board']; 

//connect to the database 
include('connect.php'); 

// mysql search query 
$query = "SELECT `firstname`, `lastname`, `roll`, `city`, `board` FROM `result` WHERE `roll` = $roll and `board` = $board LIMIT 1"; 
$result = mysqli_query($connect, $query); 

// if id exist 
// show data in inputs 
if(mysqli_num_rows($result) > 0) 
{        

echo "<table width='540' height='69'><thead><tr> 
<th width='14%'><div align='center'>first name</div></th> 
<th width='12%'><div align='center'>last name</div></th> 
<th width='17%'><div align='center'>roll number</div></th> 
<th width='14%'><div align='center'>city</div></th> 
<th width='22%'><div align='center'>board</div></th> 
</tr></thead> 
<tfoot> 
</tfoot> 
<tbody> 
<tr class='alt'>"; 

    while ($row = mysqli_fetch_array($result)) 
{ 
echo "<td><div align='center'>" . $row['firstname'] . "</div></td>"; 
echo "<td><div align='center'>" . $row['lastname'] . "</div></td>"; 
echo "<td><div align='center'>" . $row['roll'] . "</div></td>"; 
echo "<td><div align='center'>" . $row['city'] . "</div></td>"; 
echo "<td><div align='center'>" . $row['board'] . "</div></td>"; 
} 
echo "</tbody>"; 
echo "</table>"; 



    } 


    mysqli_free_result($result); 
    mysqli_close($connect); 

    } 

    ?> 

現在我想的是搜索隨機卷數..

請查看錶單圖像

enter image description here

好心做在我的PHP的變化,所以我可以使用這種形式吧..

隨機結果應該是這樣的

firstname lastname roll city  board 
name1  lname1  3456  -   - 
name2  lname2  8765  -   - 
name3  lname3  4567  -   - 

也相繼例如寫(1001至1100年)在搜索視圖100人的結果..

連續的結果應該是這樣的

firstname lastname roll city  board 
name1  lname1  1001  -   - 
name2  lname2  1002  -   - 
name3  lname3  1003  -   - 
............................................. 
name100  lname100 1100  -   - 
+0

對於連續結果,您可以在查詢中使用ORDER BY卷DESC。或者我想是ASC。 –

+2

_kindly在我的PHP的變化,所以我可以使用這種形式與它_ **否**請閱讀[我可以問哪些主題](http://stackoverflow.com/help/on-topic) 和[如何問一個好問題](http://stackoverflow.com/help/how-to-ask) 和[完美的問題](http://codeblog.jonskeet.uk/2010/08/29/writing-the-完美的問題/) 以及如何創建一個[最小,完整和可驗證的示例](http://stackoverflow.com/help/mcve) SO是**不是免費的編碼或代碼轉換或調試或教程或圖書館尋找服務** – RiggsFolly

回答

0

您需要更改您的查詢,根據您的需要

$query = "SELECT `firstname`, `lastname`, `roll`, `city`, `board` 
FROM `result` WHERE 1=1 "; 

if(isset($_POST['roll'])){ // Assuming this as single roll text 
    $query.=" AND `roll` = '$roll'"; 
} 
if(isset($_POST['fromroll']) && isset($_POST['toroll'])){ // This as From and To 
    $fromroll=$_POST['fromroll']; 
    $toroll=$_POST['toroll']; 
$query.=" AND roll between '$fromroll' AND '$toroll' "; 
} 
if(isset($_POST['multipleroll'])) 
{ 
    $multipleroll=$_POST['multipleroll']; 
$query.=" AND roll in ('$multipleroll') "; 
} 

$result = mysqli_query($connect, $query); 
+0

謝謝。你拯救生命<3 –

+0

歡迎你 –

+0

之間的運營商工作正常,但與IN我只能得到結果第一卷..後逗號不顯示結果。你能幫助我嗎? –