実現したい事、困っている事
index.phpにあるtodoリスト一覧の項目をクリックすると、項目のidに紐付いた詳細ページ(detail.php)に飛び、todoリストの詳細を
表示できるようにしたいです。
まずはtodoリストの項目の名前のみ表示しようと思っていますが、表示ができません。
開発の環境等について
・PHPのバージョン:7.4.10
・xamppを使用しています。
・DBには接続できています。
php
1<?php ----index.phpのファイル---- ?> 2 3<?php 4require_once('config.php'); 5require_once('common.php'); 6 7$pdo = new PDO(DSN, DB_USER, DB_PASS); 8 9$todo = $pdo->prepare("SELECT * FROM todo_add ORDER BY todo_name DESC"); 10$todo->execute(); 11 12?> 13 14<!doctype html> 15<html> 16<head> 17<meta charset="utf-8"> 18<meta name="viewport" content="width=device-width, initial-scale=0"> 19<title>todoリスト</title> 20<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@700&display=swap" rel="stylesheet"> 21<link href="css/base.css" rel="stylesheet" type="text/css"> 22<link href="css/common.css" rel="stylesheet" type="text/css"> 23<link href="css/top.css" rel="stylesheet" type="text/css"> 24<script src="js/jquery-3.4.1.min.js"></script> 25<script type="text/javascript" src="js/test.js"></script> 26</head> 27<body> 28 <main> 29 <h1>Todoリスト</h1> 30 <section class="program_wrapper"> 31 <div class="program_area"> 32 <div class="new_add_block"> 33 <a class="blue_btn" href="add.php">todoを追加する</a> 34 </div><!--/.new_add_block --> 35 <div class="todo_list_block"> 36 <h2 class="blue_hd"><span class="name">todo名</span><span class="deadline">〆切日</span><span class="important">重要度</span></h2> 37 <form method="post" action="delete.php"> 38 <ul class="todo_list"> 39 <?php foreach($todo as $loop): ?> 40 <li> 41 <input class="checkbox" type="checkbox" value="" name="check"> 42 <a class="todo_link" href="detail.php?id=<?php= $loop['id'] ?>"> 43 <?php echo $loop["todo_name"] ?></a> 44 45 <p class="todo_deadline"> 46 <?php 47 if($loop["todo_deadline"] === '0000-00-00'){ 48 echo ''; 49 }else{ 50 echo $loop["todo_deadline"]; 51 } 52 ?> 53 </p> 54 <p class="todo_important"><?php echo $loop["todo_important"] ?></p> 55 </li> 56 <?php endforeach; ?> 57 </ul><!--/.todo_list --> 58 <input class="complete_btn" type="submit" value="削除する" name="complete_btn"> 59 </form> 60 </div><!--/.todo_list_block --> 61 </div><!--/.program_area --> 62 </section><!--/.program_wrapper --> 63<section class="section_2"> 64</section> 65</main> 66<script type="text/javascript" src="js/test2.js"></script> 67</body> 68</html> 69
php
1<?php ----detail.phpのファイル---- ?> 2 3<?php 4require_once('config.php'); 5require_once('common.php'); 6 7$id = $_GET['id']; 8 9var_dump($id); 10 11$pdo = new PDO(DSN, DB_USER, DB_PASS); 12$todo = $pdo->prepare("SELECT * FROM todo_add WHERE id = :id"); 13$todo->bindParam(":id", $id); 14$todo->execute(); 15 16?> 17 18<!doctype html> 19<html> 20<head> 21<meta charset="utf-8"> 22<meta name="viewport" content="width=device-width, initial-scale=0"> 23<title>todoリスト</title> 24<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@700&display=swap" rel="stylesheet"> 25<link href="css/base.css" rel="stylesheet" type="text/css"> 26<link href="css/common.css" rel="stylesheet" type="text/css"> 27<link href="css/top.css" rel="stylesheet" type="text/css"> 28<script src="js/jquery-3.4.1.min.js"></script> 29<script type="text/javascript" src="js/test.js"></script> 30</head> 31<body> 32 <main> 33 <section class="detail_wrapper"> 34 <?php foreach($todo as $loop): ?> 35 <h1><?php echo $loop['todo_name'] ?></h1> 36 <?php endforeach; ?> 37 </section><!--/.detail_wrapper --> 38<section class="section_2"> 39</section> 40</main> 41<script type="text/javascript" src="js/test2.js"></script> 42</body> 43</html> 44
試した事
detail.phpの $sql = "SELECT * FROM todo_add WHERE id = " . $id; で、
index.phpから受け取ったidの数字とテーブルにあるidの数字が一致した場合、
該当するテーブルの行を取得し、画面に表示しようとしましたが何も表示されません。
ご回答よろしくお願い致します。
あなたの回答
tips
プレビュー