###記事のテーブルにある番号でアカウント情報を読み込ませたい
PHP
1<?php 2function head($a){ 3 $pdo = new PDO("mysql:dbname=datavase;host=example","example","password"); 4 $st = $pdo->query("SELECT * FROM head"); 5 $row = $st->fetch(); 6 echo htmlspecialchars($row[$a]); 7} 8?> 9<!DOCTYPE html> 10<html lang="ja"> 11 <head> 12 <meta charset="UTF-8"> 13 <title><?php head("title"); ?></title> 14 <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no"> 15 <link rel="stylesheet" href="style.css"> 16 </head> 17 <body> 18 <header> 19 <h1><?php head("title"); ?></h1> 20 </header> 21 <main role="main"> 22 <article> 23 <?php 24 $pdo = new PDO("mysql:dbname=datavase;host=example","example","password"); 25 $st = $pdo->query("SELECT * FROM blog"); 26 while ($row = $st->fetch()) { 27 ?> 28 <div class="list"> 29 <div class="image"> 30 <a href="#"> 31 <img src="image.jpg"> 32 <span class="new">NEW</span> 33 </a> 34 </div> 35 <div class="content"> 36 <a href="#"> 37 <h2><?php echo $row["title"] ?></h2> 38 </a> 39 <div class="content_bottom"> 40 <div class="author"> 41 <a href="#"> 42 <?php 43 $author = htmlspecialchars($row["no"]); 44 $acs = new PDO("mysql:dbname=datavase;host=example","example","password"); 45 $con = $acs->prepare("SELECT * FROM account WHERE no=?"); 46 $con->execute(array($author)); 47 $text = $con->fetch(); 48 echo '<img src="author.jpg"><span>'.$text["nickname"].'</span>'; 49 ?> 50 </a> 51 </div> 52 <div class="date"> 53 <time datetime="<?php echo $row["date"] ?>"><?php echo str_replace('-','.',$row['date']); ?></time> 54 </div> 55 </div> 56 </div> 57 </div> 58 <?php } ?> 59 </article> 60 </main> 61 </body> 62</html>
- 記事が入っているテーブルが「blog」
title | date | content | no |
---|---|---|---|
Hello World | 2017-07-16 | Test | 1 |
Test | 2017-07-17 | Test | 2 |
- アカウント情報が入っているテーブルが「account」
id | nickname | password | comment | no |
---|---|---|---|---|
guest | Nickname | guest | Test | 1 |
記事に付けた番号「no」からアカウントの番号「no」のニックネームを呼び出したいのです。
一応このようになっていますが、PHPの扱いになれていないので、ご了承ください。
また、できれば改良策があればご指摘いただくとありがたいです。
###発生している問題
上記のやり方だと、記事が入っているテーブルは全て表示されても、
記事を投稿した人のニックネームが一件の記事だけ表示されて、
他の記事には表示されなくなってしまいます。
このようになるのを
###補足情報(言語/FW/ツール等のバージョンなど) PHP 7.0.6
回答5件
あなたの回答
tips
プレビュー