ショッピングカートをPHPで作っています。データベースから商品名、価格を読み込んで表示させることはできたのですが画像だけが表示されません。どうすればいいでしょうか。
index.php
1<?php 2require_once('./helpers/db_helper.php'); 3session_start(); 4if($_SERVER['REQUEST_METHOD']==='POST'){ 5 $num=$_POST['num']; 6 $pro_code=$_POST['procode']; 7 $_SESSION['cart'][$pro_code]=$num; 8} 9 10$cart=array(); 11if(isset($_SESSION['cart'])===TRUE){ 12 $cart=$_SESSION['cart']; 13} 14?> 15<html> 16 <ul class="pc-grid-col3" ><!-- .menu始まり --> 17 <?php $dbh=get_db_connect(); 18 foreach (fetch_product($dbh) as $rec): ;?> 19 <li class="col"> 20 <form action="" method="post"> 21 <img src="/image/<?php echo $rec['gazou'];?>" alt=""> 22 <p class="menu-text"><?=$rec['name'];?><br><b><?=$rec['price'].'円';?></b></p> 23 24 <select class="select-box" name="num"> 25 <?php for($i=1;$i<=10;$i++): ?> 26 <option value="<?php echo $i;?>"><?php echo $i;?></option> 27 <?php endfor;?> 28 </select><br> 29 <input type="hidden" name="procode" value="<?=$rec['code'];?>"> 30 <?php if(isset($cart[$rec['code']])===TRUE):?> 31 <p>追加済み</p> 32 <?php else: ?> 33 <input type="submit" class="cartin" value="カートに入れる"> 34 <?php endif;?> 35 </form> 36 </li> 37 <?php endforeach;?> 38 </ul> 39 40 ```db_helper.php 41function get_db_connect(){ 42 try{ 43 $dsn=DSN; 44 $user=DB_USER; 45 $password=DB_PASSWORD; 46 47 $dbh=new PDO($dsn, $user, $password); 48 }catch(PDOException $e){ 49 echo($e->getMessage()); 50 die(); 51 } 52 $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 53 return $dbh; 54} 55 56function fetch_product($dbh){ 57 $sql="SELECT code, name, price, gazou FROM mst_product WHERE 1"; 58 $stmt=$dbh->prepare($sql); 59 $stmt->execute(); 60 $rec=[]; 61 while($data=$stmt->fetch(PDO::FETCH_ASSOC)){ 62 $rec[]=$data; 63 } 64 return $rec; 65}
回答2件
あなたの回答
tips
プレビュー