2014-12-21 57 views
-2

我想問一下這段代碼。我有兩個下拉菜單和一個按鈕。我想在sql數據庫中搜索我在這些下拉菜單中選擇的內容。使用兩個下拉菜單,sql數據庫中的搜索項的sql語法是什麼?兩個下拉菜單和一個按鈕

我的數據庫=測試

表=學生

name | class | sex | mark | 
John | Five  | Male | 75 
Jashi | Four  | Female | 89 | 



##HTML## 
<form action="search2.php" method="post"> 
<select name="class"> 
<option value="" selected="selected">Class</option> 


</select> 
<select name="sex"> 
<option value="" selected="selected">Sex</option> 


</select> 
<input type="submit" value="search" /> 
</form> 

search2.php

<?php 
    mysql_connect('localhost', 'root', ''); 
    mysql_select_db ("test"); 

    $whereClauses = ''; 
    $class = count($_POST['class']); 
    $sex = count($_POST['sex']); 
    $i = 0; 
    if (! empty($_POST['class'])) { 
    foreach ($_POST['class'] as $class) { 
    $whereClauses .="class='".mysql_real_escape_string($class)."'"; 
    if ($i++ == $class) { 
    $whereClauses .= " AND"; 
    } 
    } 
    } 
    if (! empty($_POST['sex'])) { 
    foreach ($_POST['sex'] as $sex) { 
    $whereClauses .="sex='".mysql_real_escape_string($sex)."'"; 
    } 
    if ($i++ == $sex) { 
    $whereClauses .= " AND"; 
    } 
    } 
    $sql = "SELECT * FROM student '".$where."' ORDER BY id DESC '".$limit."'"; 
    $result=mysql_query($sql); 
    while ($row = mysql_fetch_array($result)) { 
    echo $row['class']; 
    echo $row['sex']; 
    echo $row['mark']; 
    } 
    ?> 


    ANY HELP WOULD BE APPRECIATED 
+0

發佈您的代碼。你想要什麼輸出。 –

+0

代碼在哪裏? –

回答

0

如果我猜中了,你要搜索的學生通過階級和性別(性別?)你可以使用這個SQL查詢:

SELECT * FROM `student` WHERE `class` = 'the_class' AND `sex` = 'the_sex'; 

其中:

  • the_class的是從選擇類下拉
  • the_sex輸入是從輸入您的選擇性別下拉
+0

我試過了,你的代碼不工作....謝謝 – Safin

0

如果我理解正確的話,你想要輸入兩個下拉菜單來定義Mysql查詢嗎?在這種情況下,您可以首先檢查用戶是否選擇了兩個值,然後通過將「AND」添加到Mysql查詢中來相應地更改查詢。

例如:

if(isset($_GET["class"]) && isset($_GET["sex"])) { 
$result = mysql_query("SELECT * from student Where sex = '". $_GET["sex"]."' AND class = '".$_GET["class"]."'"); 

} 

當然,在上面提到的解決方案,我認爲您知道如何發佈,並通過HTML表單和PHP獲取數據。

相關問題