我正在使用下拉列表,我想在同一页面的表格中显示内容,具体取决于列表中的所选项目。
使用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做点什么,但我不知道这样做。
由于
答案 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;
?>