同じphpファイルでSQL文を2個実行しその2つを表示させたいのですが、片方が表示されたら片白が表示出来なくなってしまうのですが、何故だか教えていただいたいです。
index.php
1$List = []; 2$List2 = []; 3 4try { 5 $db = new PDO(Conf::DB_DNS, Conf::DB_USERNAME, Conf::DB_PASSWORD); 6 $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 7 $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); 8 9 10 11 $offset = PER_PAGE * ($page - 1); 12 $sql = "SELECT * FROM product LIMIT ".$offset.",".PER_PAGE; 13 $stmt = $db->prepare($sql); 14 $result = $stmt->execute(); 15 16 17 while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { 18 $dp = []; 19 foreach ($row as $col => $val) { 20 $dp[$col] = $val; 21 } 22 23 $book = new Book(); 24 $book->setId($dp['id']); 25 $book->setText($dp['text']); 26 $book->setBookimg($dp['img']); 27 $book->setBoName($dp['name']); 28 29 $List[$dp['book_id']] = $book; 30 } 31 32$sql2 = "SELECT * FROM product ORDER BY regidtered LIMIT 5"; 33 $stmt2 = $db->prepare($sql2); 34 35 while ($row2 = $stmt2->fetch(PDO::FETCH_ASSOC)) { 36 $dp2 = []; 37 foreach ($row2 as $col2 => $val2) { 38 $dp2[$col2] = $val2; 39 } 40 41 $book2 = new Book(); 42 $book2->setId($dp2['id']); 43 $book2->setText($dp2['text']); 44 $book2->setBookimg($dp2['img']); 45 $book2->setBoName($dp2['name']); 46 47 48 $List2[$dp2['id']] = $book2; 49 } 50 51require_once($_SERVER["DOCUMENT_ROOT"] . "tpl/index.php");
index.php
1 2 <section> 3 <tbody> 4 <div class="box"> 5 <?php 6 if (empty($List)) { 7 ?> 8 <tr> 9 <td colspan="5">商品は存在しません。</td> 10 </tr> 11 <?php 12 } 13 else { 14 ?> 15 <h3>新着商品</h3> 16 <?php foreach ($List2 as $book2) { ?> 17 18 <ul id="bookimg"> 19 <li><img src= "<?= $book2->getBookimg()?>"></li> 20 <li id="box2"><?= $book2->getBoName() ?></li> 21 22 </ul> 23 <?php } ?> 24 25 26 <?php foreach ($List as $book) { ?> 27 <ul id="bookimg"> 28 <li> <img src= "<?= $book->getBookimg()?>"> </li> 29 <li id="box2"><?= $book->getBoName() ?></li> 30 <li>¥<?= $book->getPrice() ?>+税</li> 31 32 </ul> 33 <?php 34 } 35 } 36 ?> 37 <br> 38 <?php for($i=1; $i <= $pagenation; $i++) :?> 39 <a href="?page=<?php echo $i ?>"><?php echo $i; ?></a> 40 <?php endfor; ?> 41 </tbody> 42 </section> 43 </body> 44</html> 45 46 47コード
回答3件
あなたの回答
tips
プレビュー