根据下拉列表中的选定选项显示数据库中的数据

时间:2014-06-30 01:49:24

标签: javascript php html

我正在使用下拉列表,我想在同一页面的表格中显示内容,具体取决于列表中的所选项目。

使用SQL从数据库中检索此表的数据。我想只显示“运河”的数据。数据库中的列等于下拉列表中的选定项目。

这是我在PHP中的代码:

<head>
    <meta charset="utf-8">
</head>

<form name='choose-channel'>

<select name='channel'>
        <option selected='true' disabled='true'> Choose one channel </option>
        <option value='Option-1'> Option-1 </option>
        <option value='Option-2'> Option-2 </option>
        <option value='Option-2'> Option-3 </option>
</select>

</form>

<?php

//Conect with the database
require_once 'conectar-database.php';

$query = "SELECT id_sku FROM database.table";
$result = mysql_query($query);

echo "<table border='1' >";

echo '<tr>';
echo    '<th> id_sku </th>';
echo '</tr>';

while($row = mysql_fetch_array($result)) {

    echo '<tr>';
        echo '<td>'.$row['id_sku'].'</td>';
    echo '</tr>';
}

echo '</table>';

?>

<body>

<body>

</html>

我想在这样的查询中输入:&#39; WHERE channel = $ channel&#39;,此通道变量将从下拉列表中选择值。我想我需要用javascrip做点什么,但我不知道这样做。

由于

1 个答案:

答案 0 :(得分:0)

正如您所说,您希望在不刷新页面的情况下显示数据,您需要使用 AJAX 。 您可以 read 了解有关 AJAX 的更多信息,以便让它发挥作用。

我希望这会对你有所帮助。

PHP查看页面:

<script type="text/javascript">
$(document).ready(function() { 
$("#channel").change(function(){
    $.post( "ajax.php", { channel: $(this).val() })
     .success(function(data) {

             $(".result").html(data);
         });
   });
});
</script>
<select name='channel'>
   <option selected='true' disabled='true'> Choose one channel </option>
   <option value='Option-1'> Option-1 </option>
   <option value='Option-2'> Option-2 </option>
   <option value='Option-2'> Option-3 </option>
</select>
<div class="result"></div>

ajax.php(保存在该位置):

    <?php

    //get value from page

    $channel = $_POST['channel'];
    //Conect with the database
            require_once 'conectar-database.php';

    $query = "SELECT id_sku FROM database.table where channel =$channel";
    $result = mysql_query($query);
    $msg ='';
    $msg = $msg." <table border='1' >";

    $msg = $msg. '<tr>';
    $msg = $msg.    '<th> id_sku </th>';
    $msg = $msg. '</tr>';

    while($row = mysql_fetch_array($result)) {

        $msg = $msg. '<tr>';
            $msg = $msg. '<td>'.$row['id_sku'].'</td>';
        $msg = $msg. '</tr>';
    }

    $msg = $msg. '</table>';

    echo $msg;

    ?>