2016-04-12 9 views
0

自分のプロダクションのためのシンプルなシステムを作成したいのですが、製品上でバーコードをスキャンでき、システムはJITを表示してラベルを貼り付けることができますその製品の製品の中にはラベル貼り付けに2 JITを使用し、JITの一部を多くの製品で使用する必要があります。私は、 'product'、 'jit'、そして 'production_jit'という多数の関係を持つmysqlに3つのテーブルを作成しています。フレンドリーなビューで内部のデータを表示する方法

Table

私は、内側には、製品番号を使用してMySQLからデータを取得するために参加し作成されました。

$code = $_POST['code']; 




    $sql = "SELECT product.product_number,product.product_name,product.product_jitqty,product.product_desc,jit.jit_number,jit.jit_name,jit.jit_drawer,jit.jit_port,jit.jit_specpath 
      FROM product 
      JOIN production_jit 
      ON production_jit.product_number = product.product_number 
      JOIN jit 
      ON jit.jit_number = production_jit.jit_number 
      WHERE product.product_number = '$code'"; 

    $result = mysqli_query($conn, $sql); 


    if (mysqli_num_rows($result) > 0) { 
    // output data of each row 
    while($row = mysqli_fetch_assoc($result)) 

    { ?> 
       <table> 
       <tr><td>Product Number</td><td>: <?php echo $row['product_number']; ?></td></tr> 
       <tr><td>Product Name</td><td>: <?php echo $row['product_name']; ?></td></tr> 
       <tr><td>Product Description</td><td>: <?php echo $row['product_desc']; ?></td></tr> 
       <tr><td>Product Jit Quantity</td><td>: <?php echo $row['product_jitqty']; ?></td></tr> 
       <tr><td>JIT Number</td><td>: <?php echo $row['jit_number']; ?></td></tr> 
       <tr><td>JIT Name</td><td>: <?php echo $row['jit_name']; ?></td></tr> 
       <tr><td><font color="red">JIT Drawer</font></td><td><font color="red">: <?php echo $row['jit_drawer']; ?></font></td></tr> 
       <tr><td><font color="red">JIT Port</font></td><td><font color="red">: <?php echo $row['jit_port']; ?></font></td></tr> 
       <tr><td>JIT Spec</td><td>: <?php echo $row['jit_specpath']; ?></td></tr> 
       </table> 
       <h1><strong>Please scan JIT barcode on JIT</strong></h1> 

       <table> 
       <form action="product3.php" method="post" name="check2"> 
       <input type="hidden" name="id" value="<?php echo $row['ID']; ?>"> 
       <input type="hidden" name="productnumber" value="<?php echo $row['productNumber']; ?>"> 
       <input type="hidden" name="jitnumber" value="<?php echo $row['jitNumber2']; ?>"> 
       <tr><td>JIT Barcode</td><td>:</td><td><input type="text" name="jitcode" maxlength="200"/></td></tr> 
       </table> 
       <table> 
       <td></td><td colspan="3" align="right"><input name="hantar" type="submit" value="Check"></td> 
       </table> 

     <?php 
    } 

    } 
    else { 
       ?> 
       <script> 
       alert("Invalid Barcode"); 
       window.location.href = "product.php"; 
       </script><?php 
      } 

      mysqli_close($conn); 

製品は一つだけJITを使用した場合、インターフェイスはよく見るが、製品は2 JITを使用した場合、システムは、ループのデータを示しています。ロジック状況で

View when 1 product with 2 JIT

は、ビューが正しいのですが、どのように私はカスタマイズすることができ、繰り返しデータは、システムによって表示されません。この例では、jitテーブルのみがループ内に表示されます。あなただけを言っている場合は、以下の画像のように、一つの製品は、2 JITを持っているので、私は一度だけの製品情報について表示するには、しかし、私はデータを追跡表示したいだけJITのインフォ..

enter image description here

+0

質問をよく理解していませんでした。あなたは、jitテーブルからデータを表示するだけのSQLを書いていますか? – Erick

+0

@エリック私の質問が明確でない場合は申し訳ありません。つまり、製品に2つのジットがある場合は、データが同じであるため_商品番号、商品名、商品説明、商品ジット数量を一度表示したいだけですが、データが異なるため、 'JIT番号'、JIT名 '、JIT引き出し'、JITポート '、' JITスペック 'の両方のデータを表示します。 –

答えて

0

<?php 
    $phead=''; 
    $pbody=''; 
    while($row = mysqli_fetch_assoc($result)) 

{ 
      if(empty($phead)){ 
       $phead.='<table>'; 
       $phead.='<tr><td>Product Number</td><td>: '.$row['product_number'].'</td></tr>'; 
       $phead.='<tr><td>Product Name</td><td>: '.$row['product_name'].'</td></tr>'; 
       $phead.='<tr><td>Product Description</td><td>: '.$row['product_desc'].'</td></tr>'; 
       $phead.='<tr><td>Product Jit Quantity</td><td>: '.$row['product_jitqty'].'</td></tr>'; 
      } 
      $pbody.='<tr><td>JIT Number</td><td>: '.$row['jit_number'].'</td></tr>'; 
      $pbody.='<tr><td>JIT Name</td><td>: '.$row['jit_name'].'</td></tr>'; 
      $pbody.='<tr><td><font color="red">JIT Drawer</font></td><td><font color="red">: '.$row['jit_drawer'].'</font></td></tr>'; 
      $pbody.='<tr><td><font color="red">JIT Port</font></td><td><font color="red">: '.$row['jit_port'].'</font></td></tr>'; 
      $pbody.='<tr><td>JIT Spec</td><td>: '.$row['jit_specpath'].'</td></tr>'; 

} 
//Now, we only have 1 instance of $phead and can have multiple $pbody; 
if(!empty($phead)){ 
    echo $phead; 
    echo $pbody; 
    echo '</table>'; 
} 

?> 

私はあなたの条件に一致するように私の答えを更新しました:データセットの一つだけでこれだけ最初のデータセットが表示されますbreakを使用し、表示します。 1セットの製品ヘッダー情報と複数のJIT情報

+0

ありがとう@GregBorbonus。私は1つだけのデータセットを表示したいが、_JIT番号 '、JIT名'、JIT引き出し '、JITポート'と 'JITスペック'は2つのデータを持っています。 1つ以上のデータを持っています..? –

+0

最新の回答を参照してください –

+0

ありがとう@Greg Borbonus ..私は試して、あなたは私が欲しいことを私に与えます。しかし...私は、そのテーブルからの隠れた入力を使用していくつかのデータを送信したいですが、データが別のページに投稿しないように見える、...私は自分のコードであなたのコードを編集しています。 –

関連する問題