【问题标题】:Show data from database depending on selected option in a dropdown list根据下拉列表中的选定选项显示数据库中的数据
【发布时间】:2014-06-30 01:49:24
【问题描述】:

我正在使用下拉列表,我想根据列表中的选定项目在同一页面的表格中显示内容。

此表的数据是使用 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>

我想在查询中输入如下内容:'WHERE channel = $channel',并且此通道变量将具有从下拉列表中选择的值。我想我需要用 javascrip 做点什么,但我不知道该怎么做。

谢谢

【问题讨论】:

  • 你有没有在“相关”下冒险到右边? >>>
  • 同样需要使用AJAX

标签: javascript php html


【解决方案1】:

如您所说,要在不刷新页面的情况下显示数据,您需要使用 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;

    ?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-04
    相关资源
    最近更新 更多