2016-03-22 11 views
1

データベース:購入テーブル$_GET['B_id'] = '2'で見つけるのIDを表示する配列を取得する結果フォームを表示する方法は?

--> product table 
    P_id P_name   P_uploadKey 
    1  Cemera   7365 
    2  Notebook  7222 
    3  Monitor   7355 
    4  Printer   7242 

    --> buy table 
    B_id P_id  B_name  date 
    1  1,3,4  somchai 12/3/2016 
    2  2,3  kri  12/3/2016 

このSQL:

$bid = $_GET['B_id']; 

    $sqlB ="select * from buy where B_id ='$bid' "; 
    $Recordset2 = mysql_query($sqlB, $connect) or die(mysql_error()); 
    $row_Recordset2 = mysql_fetch_assoc($Recordset2); 

そして、彼らはコードから$row_Recordset2['P_id'] like a 2,3を取得することで、購入されたどのような結果を表示するには、このSQLコード上:

$pid = $row_Recordset2['P_id']; 
$sqlp ="select * from buy where P_id ='$pid' "; 
$Recordset3 = mysql_query($sqlp, $connect) or die(mysql_error()); 
$row_Recordset3 = mysql_fetch_assoc($Recordset3); 
do { 
echo $row_Recordset3['P_name']. "<br>"; 
} while ($row_Recordset3 = mysql_fetch_assoc($Recordset3)); 

私はこのように表示したい、我々はそれを編集する方法:

Notebook 
Monitor 
+0

今はどうしますか? –

+0

Google JOIN、LEFT JOINおそらく。 – Epodax

+0

ノートブックのみ – DNu

答えて

1

これは、私はそれを行うことができます答えです。

$pid = $row_Recordset2['P_id']; 

$array = explode(',', $pid); 

foreach ($array as $item) { 


$sqlp ="select * from buy where P_id ='$item' "; 
$Recordset3 = mysql_query($sqlp, $connect) or die(mysql_error()); 
$row_Recordset3 = mysql_fetch_assoc($Recordset3); 
do { 
echo $row_Recordset3['P_name']. "<br>"; 

} while ($row_Recordset3 = mysql_fetch_assoc($Recordset3));  

} 
0
あなたは以下のように使用することができます

$sqlp ="select * from product where P_id IN '($pid)'"; 

代わりの

$sqlp ="select * from buy where P_id ='$pid' "; 
関連する問題