php及びsql初心者です。 よろしくお願い致します。
今回僕が行いたいことは、題にも示したように、idを介した他のテーブルから値を取ってくることです。
僕が作ったデータベースは、
productというテーブル名で、product_id、product_price, product_authorなどの情報を持ったテーブルと、
cartというテーブル名で、product_id、product_num だけの情報を持ったテーブルです。
いったん、注文画面で
php
1try{ 2 $sql2 = "INSERT INTO cart (product_id, product_num) VALUES ($product_id, $num)"; 3 $stmt = $pdo->query($sql2); 4 } catch(PDOException $exception){ 5 echo '***'; 6 }
というように、cartテーブルの中に、注文する商品のidとnumを指定して、注文します。
これは、cartテーブルに情報がちゃんと載るので、大丈夫です。
ここからが僕の聞きたいところです。
次の画面に移って、注文した商品の確認と、最終注文変更が行えることになっているのですが、
本の注文された数を表示するために、前の画面で指定され、cartテーブルに格納された本のidとnumをcartテーブルからとってきて、そのidと同じidをもった本をproductテーブルからとり、そのタプルから商品名を表示させようとしています。(日本語がごたごたしていて申し訳ありません。)
そのときのsql文が
php
1try { 2 $pdo = new PDO($dsn, $user, $password, $options); 3 $sql = "SELECT * FROM `product`"; 4 $sql3 = "SELECT * FROM `cart` WHERE id = ";//① 5 $stmt = $pdo->query($sql); 6 $stmt3 = $pdo->query($sql3); 7 $result = $stmt->fetchAll(PDO::FETCH_ASSOC); 8 $result3 = $stmt3->fetchAll(PDO::FETCH_ASSOC); 9 } catch (PDOException $exception) { 10 echo $exception->getMessage(); 11 exit(); 12 }
途中でごめんなさい。
①で僕はcartテーブルに格納されているidと同じidを持った商品の情報をproductテーブルから取り出そうとしています。そこのWHERE文をどうやって書けばいいのかが分かりません。
どなたかよろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー