我在一个div中有一个UL列表,使用php从mysql中检索数据。这是代码:
<div class="sidebar_section">
<h1>Browse Categories</h1>
<?php
include('config.php');
//Connect to mysql server
...
//Select database
...
$categories_sql = "SELECT * FROM tbl_catagory";
$categories_query = mysql_query($categories_sql) or die (mysql_error());
$rsCategories = mysql_fetch_assoc($categories_query);
?>
<form>
<ul>
<?php do {
?>
<li><a href = "#" id="cat_<?php echo $rsCategories['ID']; ?>"><?php echo $rsCategories['CatagoryName']; ?></a></li>
<?php
} while ($rsCategories = mysql_fetch_assoc($categories_query));
?>
</ul>
</form>
</div>
如何将用户选择到另一个.php文件中,以便我只显示与此类别相关联的产品?当然,在另一个文件中我会做SELECT * FROM表WHERE categoryname =用户选择的任何内容。
答案 0 :(得分:0)
对此的答案变化很大。
首先,我将尝试用我能想到的最简单的方法回答:
使锚点的href像这样:
<li><a href="category.php?catId=<?php echo $rsCategories['ID']; ?>"
id="cat_<?php echo $rsCategories['ID']; ?>">
<?php echo $rsCategories['CatagoryName']; ?></a></li>
然后只需创建一个category.php脚本,在该脚本中使用$ _GET数组中的id。
<?php
$categoryId = mysql_real_escape_string($_GET['catId']);
$products_sql = "SELECT * FROM ebook WHERE category = '$categoryId'";
//proceed with the rest
?>
由于您正在使用列表中的链接并且您正在使用#as href,我将考虑您可能希望使用AJAX。这是完成所有这一切的一种方式。
首先:让我们为这些列表提供一个课程,我们将其称为&#34; category-choose&#34; (糟糕的命名,对不起,只要你想改变它)。这将允许单个jQuery .click或.live(&#39; click&#39;,...)就足够了,而不必为每个id添加一个事件。
<li><a href="#<?php echo $rsCategories['ID']; ?>"
class="category-choose">
<?php echo $rsCategories['CatagoryName']; ?></a></li>
第二:为了让我们感到轻松,让我们使用href作为&#34;#&#34; (其中只是一个表示id的数字)。现在我们可以执行以下jQuery代码:
$(document).ready(function() {
$('.category-choose').live('click', function () {
var catId = this.href.substr(1);
$("#content_right").load('content_displaycatproducts.php?catId=' + catId);
});
});
现在,在PHP脚本中,您可以在上一个方法中完成相同的操作。
希望我没有搞砸到某个地方,因为我无法测试这段代码:)你得到任何错误或故障,请报告,我会尽快修复。