【发布时间】:2011-10-05 06:23:46
【问题描述】:
我是 MySQL 新手,想按区域“过滤”结果集。我之前问过一个类似的问题,但我不知道我是要创建一个新问题还是继续那个问题,如果我弄错了,抱歉。
我查看了http://www.w3schools.com/ajax/tryit.asp?filename=tryajax_database 并认为它是理想的,但我不确定如何让它工作,或者我如何让它“更新”结果。
理想情况下,我认为该区域下方的下拉框看起来会很整洁 - 但是,我没有任何成功 - 我真的完全受限于我的理解,有人可以帮忙吗? (感谢之前帮助过第一部分的人!!)
到目前为止,这就是我所拥有的一切,(以便了解我想要过滤的内容)。
非常感谢,scotia - 下面是 regionbox.php 文件
...
<script type="text/javascript">
function selectRegion(str)
{
var xmlhttp;
if (str=="")
{
document.getElementById("region").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("region").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","regionbox.php?q="+str,true);
xmlhttp.send();
}
</script>
</head>
<body>
<P>
<table class="dbTable">
<tr>
<tr><th>Commodity</th> <th><form action="regionbox.php">
<select name="region" onchange="selectRegion(this.value)">
<option value="">Select Region</option>
<option value="E. Midlands">E. Midlands</option>
<option value="Gtr. London">Gtr. London</option>
<option value="North East">North East</option>
<option value="North West">North West</option>
<option value="Scotland">Scotland</option>
<option value="South East">South East</option>
<option value="South West">South West</option>
<option value="W. Midlands">W. Midlands</option>
<option value="Wales">Wales</option>
</select>
</form></th> <th>Member</th> <th>Size</th> <th>Price</th> <th>Date Posted</th>
</tr>
<?php
$link = mysql_connect('localhost', '', '');
$db_selected = mysql_select_db('palegall_newTrader', $link);
if (!$db_selected) {
die ('cant find newTrader' . mysql_error());
}
$region = mysql_real_escape_string($_POST['region']);
$query = mysql_query("SELECT * FROM `sell` WHERE `commodity` = 'paper' ORDER BY `price`")
or die( mysql_error() );
echo '<table class="dbTable">';
while ($row = mysql_fetch_assoc($query))
{
echo '<tr><td>'.$row['commodity'].'</td> <td>'.$row['region'].'</td> <td>'.
$row['member'].'</td> <td>'.$row['size'].'</td> <td>'.
$row['price'].'</td> <td>'.$row['posted'].'</td> </tr>';
}
echo "</table>";
?>
</body></html>
我已经删除了一些位。我希望这没问题。
【问题讨论】:
-
很好地提出了这个新问题。我们需要查看
regionbox.php中的相关代码才能回答您的问题,请删除链接以免有人入侵您的网站。 -
哦,谢谢,我真的很感激...我应该在哪里添加 regionbox.php 代码? (对不起!)
-
复制粘贴相关部分到您的问题中。然后选择代码并按
CTRL+K使其看起来像代码。 -
你想做什么?只显示与下拉值匹配的元素?或者每次选择过滤器时从数据库中“重新获取”数据?
-
对不起@Antonio - 我错过了你的帖子 - 是的,我想“重新获取”我很抱歉我的问题不清楚!!!