[PHP]一覧のデータを一つを抽出する方法
先日、記載した記事でデータベースを取得したデータを一覧にして表示を行なった。
今回は、これらの記事の詳細を見れるのようなプログラムを作成する。
始めに、
新しくprofile.phpとprofile.tpl.phpを用意する。
まず、profile.phpにてデータベースとリンクさせる設定を行う。
<?php
$pdo=new PDO('mysql:host=localhost;dbname=mydb;charset=utf8','root','root');
$message='トレーニングマックス';
$sql='SELECT dbPractice.id,dbPractice.name,dbPractice.bench,dbPractice.deadlft,muscle.model FROM dbPractice
INNER JOIN muscle ON dbPractice.body_id =muscle.body_id
WHERE dbPractice.id=:id';
$statement=$pdo->prepare($sql);
$statement->bindValue(':id',$id,PDO::PARAM_INT);
$statement->execute();
$human=$statement->fetch(PDO::FETCH_ASSOC);
$statement=null;
$pdo=null;
require_once 'view/profile.tql.php';
?>
通常のデータベースの読み込みと違う部分は、全てを取得するのではなく、id一つ分を取得する。よって、sql文が
$sql='SELECT dbPractice.id,dbPractice.name,dbPractice.bench,dbPractice.deadlft,muscle.model FROM dbPractice
INNER JOIN muscle ON dbPractice.body_id =muscle.body_id
WHERE dbPractice.id=:id';//WHERE dbPractice.id=idにより一つ分のid変数を指定する
WHERE dbPractice.id=idにより一つ分のid変数を指定する
そして、
$statement->bindValue(':id',$id,PDO::PARAM_INT);
によって変数idをバインドする。
また、変数idの指定を
if(isset($_REQUEST['id'])){
$id=$_REQUEST['id'];}
とリクエストがあった場合に変数idを定義させる。
そしてデータを取得する際に、
$human=$statement->fetch(PDO::FETCH_ASSOC);
//fetch()で一つのデータを取得
これでデータが取得出来たのであとは、
profile.tpl.php,profile.tql.phpにて
詳細画面の追加と詳細画面へ遷移するボタンの実装を行う
<?php include('header.tpl.php');?>
<body>
<h1><?php echo $message;?></h1>
<ul>
<li>NAME:<?php echo $human['name']?></li>
<li>BP:<?php echo $human['bench']?></li>
<li>DL:<?php echo $human['deadlft']?></li>
<li>type:<?php echo $human['model']?></li>
</ul>
<p><a href="sql.php">リストに戻る</a></p>
</body>
<?php include('header.tpl.php');?>
<body>
<h1><?php echo $message;?></h1>
<table>
<tr>
<td>名前</td>
<td>BP</td>
<td>DL</td>
<td>bodymake</td>
<td>詳細</td>
</tr>
<?php
foreach($result as $value){?>
<tr>
<td><?php echo $value['name']?></td>
<td><?php echo $value['bench']?></td>
<td><?php echo $value['deadlft']?></td>
<td><?php echo $value['model']?></td>
<td><a href="profile.php?id=<?php echo $value['id']; ?>">詳細はこちらから</a></td>
</tr>
<?php }?>
</table>
</body>
ブログのタイトル一覧から詳細へ見れるような機能が実装出来そうですy(^^)y
Author And Source
この問題について([PHP]一覧のデータを一つを抽出する方法), 我々は、より多くの情報をここで見つけました https://qiita.com/yukou29good0910/items/6e51a8290f6c5891239c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .