我想在数组中存储与该特定子类别相关的子类别名称和产品。
以下是我的代码,
f ($sub_category->num_rows > 1) {
while ($row = mysqli_fetch_array($sub_category)) {
$subcategory_id = $row['sub_cat_id'];
$subcategory_name['sub_category_name'][] = $row['sub_cat_name'];
$sql_subrec = "SELECT es_product_description.name AS prod_name FROM es_product_to_category LEFT JOIN es_product_description ON es_product_description.product_id=es_product_to_category.product_id LEFT JOIN es_product ON es_product_description.product_id = es_product.product_id WHERE es_product_to_category.category_id = $subcategory_id AND es_product.status=1";
//echo "<pre>";print_r($sql_subrec);
$sub_product = $conn->query($sql_subrec);
while ($prow = mysqli_fetch_assoc($sub_product)) {
$subcategory_name['sub_category_name']['products_name'][] = $prow['prod_name'];
}
}
//$subcategory_name[] = array('product_data' => $subcategory_name,);
//echo "<pre>";print_r($subcategory_name);
echo "<pre>";print_r($subcategory_name);
}
结果未达到预期效果。
我想在相关的子类别数组中获取产品,但是它会在第一个数组中出现。
Array
(
[sub_category_name] => Array
(
[0] => Weighing Scale
[products_name] => Array
(
[0] => BS-250 Baby Scale
[1] => DS-415N Bench Scale
[2] => DS-415N Platform Scale
[3] => DS-65 Counter Scale
[4] => DS-852 Weighing Scale
[5] => DS-252 Weighing Scale
[6] => DS-215N Platform Scale
[7] => DS-75 Counter Scale
[8] => DS-415 Smile
[9] => DS-215SS Platform Scale
[10] => DS-450 Table Top Weighing Scale
[11] => DS-450SS Bench Scale
[12] => DS-451HP Weighing Scale
[13] => DS-215 Hanging Scale
[14] => DS-215N Trolley Scale
[15] => DS-673 Weighing Scale
[16] => DS-315 Series Crane Scale
[17] => DS-515 Weighing Scale
[18] => DS-450CW Check Weigher Scale
[19] => DC-810 Counting, Barcode Printing Scale
[20] => DC-85 Counting Scale
[21] => DS-252C Counting Scale
[22] => DC-810 Counting, Barcode Printing Scale
[23] => SI-810 Label Printing Scale
[24] => SI-810PR Receipt Printing
[25] => DS-252PR Receipt Printing Scale
[26] => Barcode Label Printer Scales
[27] => Receipt Printer Scales
[28] => SI-810PR Barcode Label Printer Scale
[29] => SM - 100EV+ Barcode Label Printer Scale
[30] => SI-810PRSS Receipt Printer Scale
[31] => SI-810PR Receipt Printer Scale
[32] => DS-252PR Receipt Printer Scale
[33] => DC-810 Counting, Barcode Printing Scale
[34] => SI-810 Label Printing Scale
[35] => DS-451TW Tank/Vessel Weighing
[36] => DS-451 Milk Weighing
[37] => SI-810 System Scale Bench Type
[38] => SI-810 System Scale Platform Type
[39] => HT-HTR Series Analytical Balance
[40] => MX-50 Moisture Analyzer
[41] => AJ Series Precision Balance
[42] => PG/FB Precision Balance
[43] => DS-852G Precision Balance
[44] => LF-225DR Semi-micro balance
)
[1] => Industrial Counting Scale
[2] => Retail Printer Scale
[3] => Weighing System & Solutions
[4] => Weighing Balance
)
)
答案 0 :(得分:1)
试试这个。 '子类别名称'&amp; “产品名称”属于单个“子类别ID”密钥指数
if ($sub_category->num_rows > 1){
while ($row = mysqli_fetch_array($sub_category)){
$subcategory_id = $row['sub_cat_id'];
$subcategory_name[$subcategory_id]['sub_category_name'][] = $row['sub_cat_name'];
$sql_subrec = "SELECT es_product_description.name AS prod_name FROM es_product_to_category LEFT JOIN es_product_description ON es_product_description.product_id=es_product_to_category.product_id LEFT JOIN es_product ON es_product_description.product_id = es_product.product_id WHERE es_product_to_category.category_id = $subcategory_id AND es_product.status=1";
//echo "<pre>";print_r($sql_subrec);
$sub_product = $conn->query($sql_subrec);
while ($prow = mysqli_fetch_assoc($sub_product)){
$subcategory_name[$subcategory_id]['products_name'][] = $prow['prod_name'];
}
}
echo "<pre>";print_r($subcategory_name);
}
答案 1 :(得分:1)
据我了解您的有限解释,您可能只需在第二个while
中执行此类操作:
$subcategory_name['sub_category_name'][$row['sub_cat_name']]['products_name'][] = $prow['prod_name'];
但这只是猜测...请发布预期的输出和实际输出。