2016-10-03 99 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我只能得到结果第一卷..后逗号不显示结果。你能帮助我吗? –