リンク先のページ(2.php)でどの名前をユーザーが選んだかを判別して、該当する詳細を表示する方法がわかりません。
<a href='2.php?name=$name'>をどう変更すれば、ユーザーが選んだ該当の詳細ページが表示されるでしょうか。
idはautoincrementです
ご回答よろしくお願いいたします。
1.php
php
1 2<?php 3 4$database = new PDO('mysql:host=localhost;dbname=juicedatabase;charset=UTF8;', 'root', ''); 5 6$error_message = ""; 7 8if(isset($_POST["name"]) && isset($_POST["price"])){ 9 if($_POST["name"] != "" && $_POST["price"] != "" && preg_match('/^[0-9]+$/D', $_POST["price"])){ 10 11 $price = $_POST['price']; 12 $name = $_POST['name']; 13 $sql="INSERT INTO juices(name,price)VALUES(:name, :price)"; 14 $statement = $database->prepare($sql); 15 $statement->bindParam(':name',$_POST['name']); 16 $statement->bindParam(':price',$_POST['price']); 17 $statement->execute(); 18 $statement =null; 19 20 }else{ 21 $error_message = 'font color="blue">半角数字で入力</font>'; 22 } 23} 24 25$sql = 'SELECT * FROM juices'; 26$statement = $database->query($sql); 27$records = $statement->fetchAll(); 28$statement = null; 29?> 30 31<!DOCTYPE html> 32<html> 33<head> 34 <meta charset="UTF-8"> 35</head> 36<body> 37 <form action='2.php' method="post"> 38 <p>name</p><input type="text" required="required" name="name" value="<?php echo $name; ?>"> 39 <p>price</p><?php echo $error_message; ?><input type="text" required="required" name="price"> 40 <input type="submit" value="送信"> 41 </form> 42 43 44<table> 45 46<?php 47 foreach ($records as $record) { 48 $name = $record['name']; 49 $id = $record['id']; 50?> 51 52 53<tr> 54<td><a href='2.php?name=$name'><?php print $name; ?></a></td> 55<td><?php print $id; ?></td> 56</tr> 57 58<?php 59 } 60?> 61</table> 62 63</body> 64</html>
2.php
php
1 2<?php 3$database = new PDO('mysql:host=localhost;dbname=juicedatabase;charset=UTF8;', 'root', ''); 4 5$id = $_GET["id"]; 6$price = $_GET["price"]; 7$title = $_GET["title"]; 8 9if (preg_match('/^[ -~。-゚]*$/u', 'abcA')){ 10 11 $sql = "SELECT id,name,price from juices where name='$name'"; 12 $statement = $database->query($sql); 13 $records = $statement->fetchAll(); 14 $statement = null; 15 16}else{ 17 exit; 18} 19 20?> 21 22<!DOCTYPE html> 23<html> 24<head> 25 <meta charset="UTF-8"> 26</head> 27<body> 28 <form action='1.php' method="post"> 29 30 </form> 31 32 33<table> 34<?php 35 foreach ($records as $record) { 36 $price = $record['price']; 37 $name = $record['name']; 38?> 39 <p>詳細ページ</p> 40 <p>idは<?php echo $id ?>です</p> 41 <p>名前は<?php echo $name ?>です</p> 42 <p>値段は<?php echo $price ?>円です</p> 43 44<?php 45 } 46?> 47</table> 48</body> 49</html>
PHP
PAGE TOP
teratailについてご意見お聞かせください
送信
頂いたご意見への回答は行っておりません。
返信の必要なお問い合わせはこちら
teratail【募集】 teratailを一緒に作りたいエンジニア
タグ一覧ユーザーを探すバッジとは?teratailとは?称号とは?エキスパート一覧公式ブログteratail Report運営からのお知らせteratail APIヘルプ運営会社利用規約個人情報の取り扱い個人情報保護方針広告掲載のお問い合わせ
© 2014-2018 Leverages Co., Ltd.