【发布时间】:2012-04-11 23:33:21
【问题描述】:
我有一个表命名为related_products,
在哪里
products_id是主打产品。
和related_products_ids 包含与主要产品相关的产品ID。
--------------------------------------------
| products_id | related_products_ids |
| -----------------------------------------
| 1 | 1,2,3,4,6, |
| -----------------------------------------
| 2 | 1,2,3, |
| -----------------------------------------
| 3 | 1,2, |
-------------------------------------------
我有复选框,
<input value="1" type="checkbox" name="rp_product[]" id="in-category"> Microsoft IntelliMouse Pro 1
<input value="2" type="checkbox" name="rp_product[]" id="in-category"> Microsoft IntelliMouse Pro 2
<input value="3" type="checkbox" name="rp_product[]" id="in-category"> Microsoft IntelliMouse Pro 3
<input value="4" type="checkbox" name="rp_product[]" id="in-category"> Microsoft IntelliMouse Pro 4
<input value="5" type="checkbox" name="rp_product[]" id="in-category"> Microsoft IntelliMouse Pro 5
<input value="6" type="checkbox" name="rp_product[]" id="in-category"> Microsoft IntelliMouse Pro 6
复选框由php生成,
<?php
echo '<div class="categorydiv"><div id="category-all" class="tabs-panel"><ul id="categorychecklist" class="list:category categorychecklist form-no-clear">';
$rp_sql = "select products_id, products_name from ".TABLE_PRODUCTS_DESCRIPTION." order by products_id";
$rp_1 = mysql_query($rp_sql);
while($rp_2 = mysql_fetch_array($rp_1)) {
echo "<li id=\"category-".$rp_2['products_id']."\" class=\"popular-category\"><label class=\"selectit\"><input value=\"".$rp_2['products_id']."\" type=\"checkbox\" name=\"rp_product[]\" id=\"in-category-1\"> ".$rp_2['products_name']."</label></li>";
}
mysql_free_result($rp_1);
echo '</ul></div></div>';
?>
如何根据related_products_ids 值将checked 添加到这些复选框。例如,我在产品 id 1 中。
另一件事:我还想在产品页面中显示那些相关产品。怎么做?
例如,我在products_id 为1 的产品页面中,我想通过related_products_ids 显示table_name1 之类的表中的产品。
更新: 我已经使用此代码来显示数据,
$sql = "SELECT related_products_ids FROM ".TABLE_RELATED_PRODUCTS." where products_id = '" . (int)$_GET["products_id"]."'";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
$lst_rp = explode(',', $row['related_products_ids']);
foreach($lst_rp as $rp_id) {
$res = "SELECT products_id, products_name FROM ".TABLE_PRODUCTS_DESCRIPTION." WHERE products_id='" . $rp_id . "'";
}
$result1 = mysql_query($res);
while($row1 = mysql_fetch_array($result1)) {
echo $row1['products_name'];
}
但是,它什么也没显示..
我的代码错了吗?
请帮忙,因为我不知道该怎么做。 谢谢。
【问题讨论】:
-
产品范围只是
6?? -
假设我只有 6 个产品..
-
您是否在服务器端生成
input复选框(如HTML)?你在用jQuery吗? -
不要使用逗号分隔的关系。用
id,product_id,related_product_id创建一个表products和related_products,列product_id,related_product_id是表products的外键。 -
作为 HTML 先生。我不为此使用 jquery。