2016-05-04 13 views
-2

このような結果を得たクエリがあります。PHP、MYSQLは結果配列の1行目と2行目のみを取得します

SELECT check.c_id, check.voucher, check.payee, check.c_date, transact.atc_code, transact.value 
    FROM `check` 
    LEFT JOIN `transact` 
    ON check.c_id = transact.t_id 
    WHERE t_id='1' AND (atc_code LIKE '%72%' OR atc_code LIKE '%35%') 
    ORDER BY check.c_id 
 
"c_id" "voucher"  "payee"      "c_date"  "atc_code"  "value" 
"1"  "PDMK162953" "TOYOTA GLOBAL CITY, INC." "04/11/2016" "MK-GF-7202" "10338.44" 
"1"  "PDMK162953" "TOYOTA GLOBAL CITY, INC." "04/11/2016" "MK-GF-3505" "206.77" 

while($row = $result->fetch_assoc()) { 
    $c_id = $row['c_id']; 
    $voucher = $row['voucher']; 
    $payee = $row['payee']; 
    $c_date = strtotime($row['c_date']); 
    $atc_code = $row['atc_code']; 
    $income = $row['value']; 
    $tax = $row['value']; 
} 

は、どのように私は、HTMLのテーブルの他のセルに表の最初のセル10338.44と206.77に列「値」を出しエコーすることができ

答えて

2

はジャストで限界に言及しますあなたのクエリ。イムは、変数$値を呼び出すとき、それは206.77値の両方を返し

<table border="1"> 
    <tr> 
    <th>Tax 1</th> 
    <th>Tax 2</th> 
    <?php while($row = $result->fetch_assoc()) { ?> 
    <td> 
     <?php echo $row['value']; ?> 
    </td> 
    <?php } ?> 
    </tr> 
</table> 
+0

:1行2列のレコードを表示

SELECT check.c_id, check.voucher, check.payee, check.c_date, transact.atc_code, transact.value FROM 'check' LEFT JOIN 'transact' ON check.c_id = transact.t_id WHERE t_id='1' AND (atc_code LIKE '%72%' OR atc_code LIKE '%35%') ORDER BY check.c_id LIMIT 2 // Add this 

。代わりにエコーアウトする必要があります​​1と206.77​​2 – skitband

+0

206.77の重複したエントリはありますか?それがLEFT JOINの原因かもしれません。 INNER JOINを試すことはできますが、2つのテーブルにどのようなデータがあるか分かりません。 –

+0

クエリは常に2つのレコードのみになります。結果を列の値から2つの列に分けたいだけです。 tnx – skitband

関連する問題