teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

情報の追加

2019/08/20 04:20

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -54,4 +54,18 @@
54
54
  ```
55
55
  この部分を削除すると一番新しいthemeのみが表示されるのですが、リンク先にクエリ情報が送信されません。
56
56
  どうすればクエリ情報をdetail.phpに渡しつつ、新しい順にthemeを表示させることが出来るのでしょうか?
57
- よろしくお願いします。
57
+ よろしくお願いします。
58
+
59
+ ```detailphp
60
+ $post_id=$_GET['post_id'];
61
+ $sql='select * from toukou where post_id=$post_id';
62
+
63
+ $stmt = $dbh->query( $sql );
64
+
65
+ foreach ($stmt as $row) {
66
+ echo $row['theme'].':'.$row['conclusion'].':'.$row['body'];
67
+ }
68
+ ```
69
+ ### エラーメッセージ
70
+
71
+ Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\phptest\z.php on line 18

1

質問文自体の大幅な修正

2019/08/20 04:20

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- MySQLに保存された最データをPHPで出力したいし、リンク先にクエリ情報したい
1
+ しい順にデータの一部九つ表示させ、リンク先にデータの詳細表示したい
body CHANGED
@@ -1,51 +1,57 @@
1
- 現在php投稿された最新のデ一部をトップページに表示し、リンク先にクエリ情報を渡して、そのデタのすべてを表示させる ということ目指しています。
1
+ 自分は現在、テマ、結論、本文3つ入力し投稿するとトップページに投稿されたデータの内テーマのみが新い順に九つ並びテーマをクックするとリンク先でテマ、結論、本文が見られる というサイト作成中です。
2
- 現在下記ドで最新の出力させることはできています
2
+ 投稿されたデータ内、テマのみをしい順に並べる為に下ようにコ書いています
3
3
  ```ここに言語を入力
4
- <?php
4
+ <?php
5
- $dsn = 'mysql:dbname=post;host=127.0.0.1;charset=utf8';
5
+ $dsn = 'mysql:dbname=post;host=127.0.0.1;charset=utf8';
6
- $user = 'xxx';
6
+ $user = 'xxx';
7
- $password= 'xxx';
7
+ $password= 'xxx';
8
8
 
9
- try{
9
+ try{
10
- $dbh = new PDO( $dsn, $user, $password );
10
+ $dbh = new PDO( $dsn, $user, $password );
11
- }catch( PDOException $error ){
11
+ }catch( PDOException $error ){
12
- echo "接続失敗:".$error->getMessage();
12
+ echo "接続失敗:".$error->getMessage();
13
- die();
13
+ die();
14
- }
14
+ }
15
15
 
16
- $sql ="select * from toukou Where post_id = (Select Max(post_id) From toukou)";
16
+ $sql ="select * from toukou Where post_id = (Select Max(post_id) From toukou)";
17
- $stmt = $dbh->query( $sql );?>
17
+ $stmt = $dbh->query( $sql );?>
18
+
19
+
20
+
21
+
18
- <a class="aa" href="detail.php">
22
+ <div class="top-wrapper top">
23
+ <div class="container">
24
+ <div class="heading">
25
+ <h1>新着</h1>
26
+ </div>
27
+ <div class="articles">
28
+
29
+ <div class="article">
30
+ <div class="article-left">
31
+ <a class="aa" href="detail.php?name=<?php foreach ($stmt->fetchAll() as $result){
32
+ echo " theme:". $result['theme'];
33
+ }
34
+ ?>">
19
- <?php foreach ($stmt->fetchAll() as $result){
35
+ <?php foreach ($stmt->fetchAll() as $result){
20
- echo " theme:". $result['theme'];
36
+ echo " theme:". $result['theme'];
21
- }
37
+ }
22
- ?>
38
+ ?>
23
- </a>
39
+ </a>
40
+ </div>
41
+ <div class="article-right">
42
+ </div>
43
+ </div>
24
44
  ```
45
+ ここでは省いていますがと同じものが下に八つあります。
46
+ ですので一番目の<div class="article">....</div>では一番新しい投稿のthemeを、二番目の<div class="article">....</div>では二番目に新しい投稿のthemeを、、をいうように九つ目まで投稿のthemeを表示させたいです。
25
- しかし、リンク先detail.phpにクエリ情報を渡すために下記のようにコードを追加すると最新のデータトップページに表示されなくなってしまいます
47
+ のように記述した際、themeそもそも表示されず困っています
26
48
  ```ここに言語を入力
27
- <?php
28
- $dsn = 'mysql:dbname=post;host=127.0.0.1;charset=utf8';
29
- $user = 'xxx';
30
- $password= 'xxx';
31
-
32
- try{
33
- $dbh = new PDO( $dsn, $user, $password );
49
+ <div class="article-left">
34
- }catch( PDOException $error ){
50
+ <a class="aa" href="detail.php?name=<?php foreach ($stmt->fetchAll() as $result){
35
- echo "接続失敗:".$error->getMessage();
51
+ echo " theme:". $result['theme'];
36
- die();
37
52
  }
38
-
39
- $sql ="select * from toukou Where post_id = (Select Max(post_id) From toukou)";
40
- $stmt = $dbh->query( $sql );?>
41
- <a class="aa" href="detail.php?name=<?php foreach ($stmt->fetchAll() as $result){
42
- echo " theme:". $result['theme'];
43
- }
44
- ?>">
53
+ ?>">
45
- <?php foreach ($stmt->fetchAll() as $result){
46
- echo " theme:". $result['theme'];
47
- }
48
- ?>
49
- </a>
50
54
  ```
55
+ この部分を削除すると一番新しいthemeのみが表示されるのですが、リンク先にクエリ情報が送信されません。
56
+ どうすればクエリ情報をdetail.phpに渡しつつ、新しい順にthemeを表示させることが出来るのでしょうか?
51
57
  よろしくお願いします。