質問編集履歴

2

情報の追加

2019/08/20 04:20

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -111,3 +111,31 @@
111
111
  どうすればクエリ情報をdetail.phpに渡しつつ、新しい順にthemeを表示させることが出来るのでしょうか?
112
112
 
113
113
  よろしくお願いします。
114
+
115
+
116
+
117
+ ```detailphp
118
+
119
+ $post_id=$_GET['post_id'];
120
+
121
+ $sql='select * from toukou where post_id=$post_id';
122
+
123
+
124
+
125
+ $stmt = $dbh->query( $sql );
126
+
127
+
128
+
129
+ foreach ($stmt as $row) {
130
+
131
+ echo $row['theme'].':'.$row['conclusion'].':'.$row['body'];
132
+
133
+ }
134
+
135
+ ```
136
+
137
+ ### エラーメッセージ
138
+
139
+
140
+
141
+ Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\phptest\z.php on line 18

1

質問文自体の大幅な修正

2019/08/20 04:20

投稿

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