根据所选值显示选项

时间:2014-12-01 03:23:18

标签: php mysql

<select id="prodi" name="product_names" style="padding:6px;">                                                                        
  <?php
    $resultsTicket = $mysqli->query("SELECT
                                     product_list.product_name, 
                                     product_package.size 
                                     FROM product_list
                                     LEFT JOIN  product_package
                                     ON product_list.product_code = package.product_code     
                                     ORDER BY   product_list.id ASC");
    $orders = array();     
    if ($resultsTicket) {
        while($obj = $resultsTicket->fetch_object()) {
            $orders[$obj->size][$obj->product_name]  = array(
                'product_name' => $obj->product_name, 
                'size' => $obj->size, 
                'status' => $obj->status);
        }
        foreach ($orders AS $order_id => $order) {
            foreach ($order AS $item => $data) {
    echo '<option value="'.$obj->product_name.'">' . $data['product_name'] . '</option>';
            }
        }
    echo '</select></div>';
    echo '<div style="display:block; padding:6px; border: solid thin white;">
          <span style="width:60px; display:inline-block; padding:6px;">Package</span>
          <select name="packageInfi" style="padding:6px;">';
    }
    echo '<option value="">'.$order_id.'</option>';
    echo '</select></div>';
    ?>

我要对上面的代码做的是根据已选择的产品名称获取尺寸/包

以下是我选择产品名称的地方:echo '<option value="'.$obj->product_name.'">' . $data['product_name'] . '</option>';

以下是根据上面选择的产品展示包装的地方:echo '<option value="">'.$order_id.'</option>';

但是,它不是根据已选择的产品显示包装,而是仅向我显示产品的最后一个包装。

以下是产品草图:

      ------------------------------------------- 
      no       product_name     product_code              
      -------------------------------------------
      1        product_one      001 
      2        product_one      002 
      3        product_one      003 
      4        product_one      004 


      ------------------------------------------------- 
      product_code         package     price              
      -------------------------------------------------
       001                  2kg        10
       001                  3kg        20 
       001                  4kg        30  
       001                  5kg        40 

       002                  6kg        50 
       002                  7kg        60  
       002                  8kg        70 
       002                  9kg        80  

从第一张表中,我只想获取所有产品名称的数据,而从第二张表中我想获得每种产品的尺寸和价格。

1 个答案:

答案 0 :(得分:0)

echo '<option value="'.$obj->product_name.'">' . $data['product_name'] . '</option>';

$obj->product_name不在循环中。所以这就是你只获得最后一次的原因。我相信这也应该是$data['product_name']