1

私はPHPを初めて使用し、このコードについて質問したい..ドロップダウンメニューとボタンが1つあります..ドロップダウンメニューで選択したものをSQLデータベースで検索したい..検索項目のSQL構文は何ですかドロップダウンメニューを使用してSQLデータベースで..デフォルトでは、 --> と書きますSELECT * FROM helpline

--> である必要がありますSELECT * FROM helpline WHERE MISC = %**item in drop down menu**%

これは私のデータベース = ヘルプデスクです

Table = helpline

NAME  |    DATE    |  MISC  |
John  | 02/01/2011 | Item 1 |
Mark  | 03/01/2011 | Item 2 |

これは私のコードです

<form id="form1" name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" >
<label for="namelist"></label>
<select name="namelist" id="namelist">
<option selected="selected" disabled="disabled">PLEASE CHOOSE ONE ITEM:-</option>
<option>Item 1</option>
<option>Item 2</option>
</select>
<input type="submit" name="show" id="show" value="Submit" />
<?php
mysql_select_db("helpdesk",mysql_connect("localhost","root",""))or die (mysql_error());
$query = "SELECT * FROM helpline"; */ This line should select what I choose in drop down menu  /*
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)){
?>
<table border="0" cellpadding="6" cellspacing="6" class="curve">
<thead>
<tr>
<th> <div align="right"><span class="font">NAME</span></div></th>
<th> <div align="right"><span class="font">DATE</span></div></th>
</tr>
</thead>
<tbody>   
<tr>
<th><div align="left"><span class="font"><?php echo $row['name']; ?></span></div></th>
<td><div align="left"><span class="font"><?php echo $row['date']; ?></strong></span></div></td>   
</tr>
</tbody>
&nbsp;
<?php
}
?>
</table>
</form>

したがって、ボタンをクリックしたときにドロップダウンメニューで選択した内容に従って、SQLデータベースのすべてのアイテムが表示されるはずです..

4

3 に答える 3

1

選択オプションに値属性がありません

your dropdown
<select name="namelist" id="namelist">
<option selected="selected" disabled="disabled">PLEASE CHOOSE ONE ITEM:-</option>
<option>Item 1</option>
<option>Item 2</option>
</select>

change it :
<select name="namelist" id="namelist">
<option selected="selected" disabled="disabled" value="">PLEASE CHOOSE ONE ITEM:-</option>
<option value="Item 1">Item 1</option>
<option value="Item 2">Item 2</option>
</select>

送信後、$_post["namelist"] から値を取得

于 2015-01-10T12:12:56.483 に答える
1

ページを更新しないと、次のようにできます

<script>
    $(document).ready(function(){
        $("#namelist").change(function(){
            var data = $(this).val();
            $.ajax({
                type:'POST',
                data:'search_value='+data,
                url:'search_process.php',
                success:function(data){
                    $("#result").html(data);
                }               
            });         
        }); 

    });


</script>

HTML部分

<select name="namelist" id="namelist">
<option selected="selected" disabled="disabled">PLEASE CHOOSE ONE ITEM:-</option>
<option>Item 1</option>
<option>Item 2</option>
</select>
<input type="button" name="show" id="show" value="Submit" />

<div id="result"></div>

search_process.php ページ

<?php

 // DATABASE CONNECTIVITY

 if(isset($_POST['search_value'])) {
    $val = $_POST['search_value'];


    $query = mysql_query("SELECT * FROM helpline WHERE MISC LIKE %$val%");

    // NOW RUN YOUR QUERY

    $result = '<table border="0" cellpadding="6" cellspacing="6" class="curve">';
    $result .= '<thead>';
    $result .= '<tr>';
    $result .= '<th> <div align="right"><span class="font">NAME</span></div></th>';
    $result .= '<th> <div align="right"><span class="font">DATE</span></div></th>';
    $result .= '</tr>';
    $result .= '</thead>';
while($row = mysql_fetch_array($query)){

    $result .= '<tr>';
    $result .= '<th><div align="left"><span class="font">'.$row['name'].'</span></div></th>';
    $result .= '<td><div align="left"><span class="font">'.$row['date'].'</strong></span></div></td>'; 
    $result .= '</tr>';

}
    $result .= '</table>';
    echo $result;
 }
?>

これがアイデアを与えることを願っています

于 2013-02-09T07:01:17.997 に答える
1

PHP のオンライン マニュアル$_POST[]で説明されているように、php 連想配列を介して、投稿されたフォーム データにアクセスできます。これから、値を選択して SQL に渡すことができます。namelist


$query = "SELECT * FROM helpline";
if(isset($_POST['namelist'])){
   $dropdown_val = $_POST['namelist'];
   $query .= " WHERE MISC = '$dropdown_val'"; 
}

しかし、実際にはこれには ajax を使用する必要があり、jQueryはこれを達成するのに役立つ優れた JavaScript フレームワークになります。また、mysql_* 関数は PHP 5.5.0 で非推奨になり、将来削除される予定です。代わりに、MySQLi または PDO_MySQL 拡張機能を使用する必要があります。

于 2013-02-09T05:56:55.740 に答える