根据所选值显示选项


Show options based on selected value

<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  
从第一个表中,我只想获取

所有产品名称的数据,而从第二个表中,我只想获取每个产品的大小和价格。

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

$obj->product_name是出圈的。所以这就是你只得到最后一个的原因。我相信这也应该$data['product_name']