我想問一下如何通過3個下拉列表單獨過濾我的結果。例如,我將通過1個下拉列表過濾它,然後當我選擇另一個下拉列表時,它將精煉結果與我選擇第三個時相同。使用AJAX,PHP和MySql進行過濾
這裏是我的代碼filtering.php:
<?php
$q=$_GET['q'];
$a=$_GET['a'];
$b=$_GET['b'];
$con = mysql_connect('localhost', 'root', '');
if (!$con)
{
die('Could not connect: ' . mysql_error($con));
}
mysql_select_db("ooh", $con);
$strSQL="SELECT * FROM files WHERE type = '".$q."' AND price = '".$a."' AND location = '".$b."'";
$rs = mysql_query($strSQL,$con);
while($info = mysql_fetch_array($rs)) {
Print "<div id='filtername' class='fluid'>";
Print "<img src='images/ad_mock4.jpg' alt=''/>";
Print "<div class='box'>";
Print "<h2>".$info['title']. "<h2>";
Print "<p>".$info['shortdescription']. "</p>";
Print "<p class='cat'><strong>Price:</strong>".$info['price'] . "</p>";
Print "<p class='cat'><strong>Duration:</strong>".$info['duration'] . "</p>";
Print "<p class='cat'><strong>Material:</strong>".$info['material'] . "</p>";
Print "<p class='cat'><strong>Type:</strong>".$info['type'] . "</p>";
Print "<p class='cat'><strong>Location:</strong>".$info['location'] . "</p>";
Print "<p class='cat'><strong>Size:</strong>".$info['size'] . "</p>";
Print "</div>";
</div>
Print "<div align='center'><a href='landingpage.php?id=".$info['id']."' class='cssbutton2'>VIEW ITEM</a></div>";
}
mysql_close();
?>
那麼問題在哪裏呢?你有什麼問題?這不工作嗎? – geomagas
**危險**:您正在使用[一個**過時的**數據庫API](http://stackoverflow.com/q/12859942/19068),並應使用[現代替換](http:// php。淨/手動/ EN/mysqlinfo.api.choosing.php)。你也**易受[SQL注入攻擊](http://bobby-tables.com/)**,現代的API會使[防禦]更容易(http://stackoverflow.com/questions/60174/best-way-to-prevent-sql-injection-in-php)自己從。 – Quentin
這實際上是有效的,但是您必須選擇所有3個下拉列表才能過濾結果。即使我選擇了1個下拉菜單,我的需求也需要顯示結果,如果我選擇另一個,它會改進結果。謝謝! –