2017-12-29 11 views
0

modal_product_extension()の中でproduct_idを取得するにはどうすればよいですか?内に製品IDを取得

返信modal_product_extension('', 'Shoes')
ありがとうございます! :)

は、ここに私のコードです:

function show_products() { 
     GLOBAL $db_conn; 
     $search_query="SELECT p.*, pe.* FROM tblproduct p JOIN (SELECT p.product_id, MIN(pe.product_extension_id) AS product_extension_id FROM tblproduct p LEFT JOIN tblproduct_extension pe ON pe.product_id = p.product_id GROUP BY product_id) product_unique LEFT JOIN tblproduct_extension pe ON pe.product_extension_id = product_unique.product_extension_id WHERE p.product_id = product_unique.product_id"; 
     $query = mysqli_query($db_conn, $search_query); 

     while($row = mysqli_fetch_array($query)) { 
      $status = ($row['product_stocks'] == 0) ? '<label class="label label-danger">Out of stocks</label>' : '<label class="label label-success">In stocks</label>'; 
      ?> 
       <tr> 
        <td><?=$row['product_name']?></td> 
        <td><?=$row['product_brand']?></td> 
        <td>category</td> 
        <td>&#8369;<?=number_format($row['product_price'], 2)?></td> 
        <td><?=$row['product_size']?></td> 
        <td><?=$row['product_stocks']?></td> 
        <td><?=$status?></td> 
        <td align="center"> 
         <a onclick="modal_product_extension('<?=$row['product_id']?>', '<?=$row['category_name']?>')"> 
          <i class="fa fa-plus fa-lg"></i> 
         </a> 
        </td> 
        <td align="center"> 
         <a onclick="modal_add_image('<?=$row['product_id']?>', '<?=$row['product_brand']?>')"> 
          <i class="fa fa-picture-o fa-lg"></i> 
         </a> 
        </td> 
        <td align="center"><a onclick="edit_product_by_id('<?=$row['product_id']?>')"><i class="fa fa-pencil fa-lg"></i></a></td> 
        <td align="center"><a onclick="delete_product_by_id('<?=$row['product_id']?>')"><i class="fa fa-times fa-lg"></i></a></td> 
       </tr> 
      <?php 
     } 
    } 
+0

私はあなたがあなたの応答で複数の 'product_id'を持っていると仮定uがデータベースにクエリをトリガすることにより、同じかどうかを確認してくださいすることができます。 –

+0

なぜあなたはそれを取り戻す必要がありますか? – neattom

答えて

1

(それは両方にあるテーブルに入社):

だからあなたの関数になった:

function show_products() { 
     GLOBAL $db_conn; 
     $search_query="SELECT p.product_id as P_ID, p.*, pe.* FROM tblproduct p JOIN (SELECT p.product_id, MIN(pe.product_extension_id) AS product_extension_id FROM tblproduct p LEFT JOIN tblproduct_extension pe ON pe.product_id = p.product_id GROUP BY product_id) product_unique LEFT JOIN tblproduct_extension pe ON pe.product_extension_id = product_unique.product_extension_id WHERE p.product_id = product_unique.product_id"; 
     $query = mysqli_query($db_conn, $search_query); 

     while($row = mysqli_fetch_array($query)) { 
      $status = ($row['product_stocks'] == 0) ? '<label class="label label-danger">Out of stocks</label>' : '<label class="label label-success">In stocks</label>'; 
      ?> 
       <tr> 
        <td><?=$row['product_name']?></td> 
        <td><?=$row['product_brand']?></td> 
        <td>category</td> 
        <td>&#8369;<?=number_format($row['product_price'], 2)?></td> 
        <td><?=$row['product_size']?></td> 
        <td><?=$row['product_stocks']?></td> 
        <td><?=$status?></td> 
        <td align="center"> 
         <a onclick="modal_product_extension('<?=$row['P_ID']?>', '<?=$row['category_name']?>')"> 
          <i class="fa fa-plus fa-lg"></i> 
         </a> 
        </td> 
        <td align="center"> 
         <a onclick="modal_add_image('<?=$row['product_id']?>', '<?=$row['product_brand']?>')"> 
          <i class="fa fa-picture-o fa-lg"></i> 
         </a> 
        </td> 
        <td align="center"><a onclick="edit_product_by_id('<?=$row['product_id']?>')"><i class="fa fa-pencil fa-lg"></i></a></td> 
        <td align="center"><a onclick="delete_product_by_id('<?=$row['product_id']?>')"><i class="fa fa-times fa-lg"></i></a></td> 
       </tr> 
      <?php 
     } 
    } 
+1

ありがとう兄弟! :) –

0

は、SQL文を取得し、あなたが期待通りに連想配列が機能しない理由である複数のproduct_idを返していないことを確認するためにそれを実行します。

ソリューションはそれを同じクエリで使用されていないエイリアスを与えることです

フィールド名が一意ではありませんので、あなたは、あなたの product_idフィールドのエイリアスを使用し、PHPコード内の別名を参照する必要があり
関連する問題