PHP7.3&MySQL5.0を利用したDBからのデータの取り出し方について質問です。データベース上に商品A〜Dの4つの商品に関する情報(売り出し日,名前,値段,画像,状態)があって、売り出し日を元にデータを取り出そうとしています。商品4つともの売り出し日が違う場合は、以下のコードでもすべての商品とその情報が取り出せるのですが、売り出し日が重複する場合、先にDBに入っている方の商品のデータとして取り出すことができません。どうすれば同じ日付に売り出す商品も取り出せるようになりますか。
PHP
1<!DOCTYPE html> 2<html> 3 <head> 4 <meta charset="utf-8"> 5 <title>Shop</title> 6 7 <link rel="stylesheet" href="shop_prepare_list.css"> 8 9 <meta name="viewport" content="width=device-width,initial-scale=1"> 10 <meta name="robots" content="noindex,nofollow"> 11 </head> 12 <body> 13 <?php 14 15 try{ 16 //売り出し日を配列にしている。 17 $date=["323","330","406","413","420","427","504","511"]; 18 19 foreach($date as $val){ 20 $dsn='mysql:dbname=shop_site;host=localhost;charset=utf8'; 21 $user='root'; 22 $password=''; 23 $dbh = new PDO($dsn, $user, $password); 24 $dbh -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 25 26 27 28 // SQL文でコードを追加 29 $sql = 'SELECT name, date, state, price, gazou FROM shop_product WHERE date=?'; 30 $stmt=$dbh->prepare($sql); 31 $data[0]=$val; 32 $stmt->execute($data) ; 33 34 $rec = $stmt->fetch(PDO::FETCH_ASSOC); 35 echo $rec['name']; 36 echo $rec['date']; 37 echo $rec['price']; 38 echo $rec['gazou']; 39 40 41 } 42 $dbh = null; 43 44 } 45 catch(Exception $e){ 46 echo $e->getMessage(); 47 print 'Sorry, we are having trouble now.'; 48 exit(); 49 } 50 ?> 51 52 </body> 53</html> 54
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/17 19:30