我目前有一个数组,该数组使用我的表单(term)
中的动态输入输出变量,这会创建一个带有自动完成的动态搜索,以填写产品的所有详细信息。
$return_arr = array();
$param = $_GET["term"];
$fetch = mysql_query("SELECT * FROM crd_jshopping_products WHERE `name_en-GB` REGEXP '^$param'");
while ($row = mysql_fetch_array($fetch, MYSQL_ASSOC)) {
//$row_array['category_id'] = $row ['category_id'];
$row_array['product_id'] = $row['product_id'];
$row_array['product_names'] = $row['name_en-GB'];
$row_array['jshop_code_prod'] = $row['product_ean'];
$row_array['_ext_price_html'] = number_format($row['product_price'],2);
if (!empty($row['product_thumb_image']) AND isset($row['product_thumb_image'])){
$row_array['image'] = $row['product_thumb_image'];
}else {
$row_array['image'] = 'noimage.gif';
}
array_push( $return_arr, $row_array);
}
mysql_close($conn);
echo json_encode($return_arr);
不幸的是,我还需要获取不同category_id
的{{1}},我试图修改我的table
,但无济于事:
query
我在这里错过了什么步骤? $fetch = mysql_query("SELECT * FROM crd_jshopping_products WHERE `name_en-GB` REGEXP '^$param' AND `crd_jshopping_products_to_categories` = `product_id` ");
中的product_id's
匹配?
答案 0 :(得分:1)
尝试这个查询,并尝试理解我写的内容:
$fetch = mysql_query("
SELECT
p.*,
c.category_id
FROM
crd_jshopping_products as p
INNER JOIN crd_jshopping_products_to_categories as c
ON p.product_id = c.product_id
WHERE
`p.name_en-GB` REGEXP '^$param'
");
这意味着:
选择强> 给我 p 的所有内容和 c 中的category_id。
发件人:强> 从表crd_jshopping_products(称为p )和crd_jshopping_products_to_categories(称为c )中的行执行此操作,其中行匹配 p <的计数/strong>.product_id与 c .product_id相同。
<强>其中:强> 只返回 p .name_en -GB REGEXP'^ $ param'的行。