質問編集履歴

6

解決後エラーメッセージ削除

2022/01/10 13:55

投稿

mame9
mame9

スコア1

test CHANGED
File without changes
test CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
  ```
16
16
 
17
- 以下エラーメッセージではありませんが思い通りに動いていない結果表示です。(日付順に5件のみ取り出せています)
17
+
18
18
 
19
19
 
20
20
 

5

解決後エラーメッセージ削除

2022/01/10 13:55

投稿

mame9
mame9

スコア1

test CHANGED
File without changes
test CHANGED
@@ -17,18 +17,6 @@
17
17
  以下エラーメッセージではありませんが思い通りに動いていない結果表示です。(日付順に5件のみ取り出せています)
18
18
 
19
19
 
20
-
21
- 2022-01-18 まあああああああ
22
-
23
- 2022-01-13 かきくけこ
24
-
25
- 2022-01-13 牛
26
-
27
- 2022-01-09 はまやらわ
28
-
29
- 2022-01-08 あかさたな
30
-
31
- 全件数5件. 前へ 1 次へ
32
20
 
33
21
  ```
34
22
 

4

ソースコード修正し、やりたかった動きにできました。削れる部分はまだあるかと思いますが、 javahack様、skys215様 のお力添えのおかげです。ありがとうございました!

2022/01/10 13:54

投稿

mame9
mame9

スコア1

test CHANGED
File without changes
test CHANGED
@@ -46,7 +46,7 @@
46
46
 
47
47
 
48
48
 
49
- $offset=($now - 1) * max;
49
+ $offset=($_GET['page_id'] - 1) * 5;
50
50
 
51
51
  $limit= $offset+5;
52
52
 
@@ -54,10 +54,24 @@
54
54
 
55
55
  $query="select * from touroku order by date desc limit :limit offset :offset;";
56
56
 
57
+ $saisho="select * from touroku order by date desc limit :limit offset :offset;";
58
+
59
+ $zenbu="select * from touroku order by date desc;";
60
+
57
61
 
58
62
 
59
63
  $meirei_limit=$db->prepare($query);
60
64
 
65
+ $meirei=$db->query($zenbu);
66
+
67
+ $meirei_saisho=$db->prepare($saisho);
68
+
69
+
70
+
71
+ $meirei_saisho->bindvalue(':limit',5,PDO::PARAM_INT);
72
+
73
+ $meirei_saisho->bindvalue(':offset',0,PDO::PARAM_INT);
74
+
61
75
 
62
76
 
63
77
  $meirei_limit->bindvalue(':limit',$limit,PDO::PARAM_INT);
@@ -68,49 +82,57 @@
68
82
 
69
83
  $meirei_limit->execute();
70
84
 
85
+ $meirei_saisho->execute();
86
+
71
87
 
72
88
 
73
89
  $a=$meirei_limit->fetchAll();
74
90
 
91
+ $first=$meirei_saisho->fetchAll();
92
+
93
+ $result=$meirei->fetch();
94
+
95
+
96
+
97
+ $total=count($result);
98
+
75
99
 
76
100
 
77
101
  define('max','5');
78
102
 
79
103
 
80
104
 
81
- $a_total=count($a);
82
-
83
-
84
-
85
- $max_page = ceil($a_total/ max);
105
+ $max_page = ceil($total/ max);
86
106
 
87
107
 
88
108
 
89
109
  if(!isset($_GET['page_id'])){
90
110
 
91
- $now = 1;
111
+ $now = 1;
112
+
113
+ foreach($first as $value) {
114
+
115
+ print($value["date"].' '.$value["title"].'<br />');
116
+
117
+ }
92
118
 
93
119
  }else{
94
120
 
95
- $now = $_GET['page_id'];
121
+ $now = $_GET['page_id'];
122
+
123
+
124
+
96
-
125
+ foreach($a as $value) {
126
+
127
+ print($value["date"].' '.$value["title"].'<br />');
128
+
97
- }
129
+ }
98
-
99
-
100
-
101
- $data = array_slice($a, $offset, $limit, true);
130
+
102
-
103
-
104
-
105
- foreach($data as $value) {
106
-
107
- print($value["date"].' '.$value["title"].'<br />');
108
-
109
- }
131
+ }
110
-
111
-
112
-
132
+
133
+
134
+
113
- print('全件数'.$a_total.'件. ');
135
+ print('全件数'.$total.'件. ');
114
136
 
115
137
 
116
138
 
@@ -172,8 +194,12 @@
172
194
 
173
195
  こちらのサイトを参考にさせていただきまして、後半部分に関してはほとんどコピペです。
174
196
 
197
+
198
+
175
199
  修正依頼をいただいたのち、PDOに変えて修正しました。
176
200
 
177
201
 
178
202
 
203
+ 修正し、やりたかった動きにできました。削れる部分はまだあるかと思いますが、javahack様、skys215様 のお力添えのおかげです。ありがとうございました!
204
+
179
205
  ### 補足情報(FW/ツールのバージョンなど)

3

MySQLにうまく命令できていないと教えていただいたので、PDOにして修正してみましたが、結果が思い通りにいかず、悩んでおります。

2022/01/10 13:49

投稿

mame9
mame9

スコア1

test CHANGED
File without changes
test CHANGED
@@ -14,55 +14,21 @@
14
14
 
15
15
  ```
16
16
 
17
- Warning: Illegal string offset 'date' in //public_html/pager.php on line 34
17
+ 以下エラーメッセージではありませんが思い通りに動いていない結果表示です。(日付順に5件のみ取り出せています)
18
18
 
19
19
 
20
20
 
21
- Warning: Illegal string offset 'title' in //public_html/pager.php on line 34
21
+ 2022-01-18 まあああああああ
22
22
 
23
- 6 6
23
+ 2022-01-13 かきくけこ
24
24
 
25
+ 2022-01-13 牛
25
26
 
27
+ 2022-01-09 はまやらわ
26
28
 
27
- Warning: Illegal string offset 'date' in //public_html/pager.php on line 34
29
+ 2022-01-08 あかさたな
28
30
 
29
-
30
-
31
- Warning: Illegal string offset 'title' in //public_html/pager.php on line 34
32
-
33
- 6 6
34
-
35
-
36
-
37
- Warning: Illegal string offset 'date' in //public_html/pager.php on line 34
38
-
39
-
40
-
41
- Warning: Illegal string offset 'title' in //public_html/pager.php on line 34
42
-
43
- 2 2
44
-
45
-
46
-
47
- Warning: Illegal string offset 'date' in //public_html/pager.php on line 34
48
-
49
-
50
-
51
- Warning: Illegal string offset 'title' in //public_html/pager.php on line 34
52
-
53
- 2 2
54
-
55
-
56
-
57
- Warning: Illegal string offset 'date' in //public_html/pager.php on line 34
58
-
59
-
60
-
61
- Warning: Illegal string offset 'title' in //public_html/pager.php on line 34
62
-
63
- � �
64
-
65
- 全件数12件. 前へ 1 2". " 3". " 次へ". "
31
+ 全件数5件. 前へ 1 次へ
66
32
 
67
33
  ```
68
34
 
@@ -76,33 +42,27 @@
76
42
 
77
43
  <?php
78
44
 
79
-
80
-
81
- $db = mysqli_connect("","","","");
45
+ $db=new PDO('mysql:dbname=$dbname;host=$dbhost','$user','$pass');
82
-
83
-
84
-
85
- $meirei="select * from list order by date desc;";
86
-
87
- $meirei_limit = $db->prepare("select * from list order by date desc limit ? offset ?;");
88
-
89
-
90
-
91
- $result_a=mysqli_query($db,$meirei);
92
-
93
- $a=mysqli_fetch_array($result_a);
94
46
 
95
47
 
96
48
 
97
49
  $offset=($now - 1) * max;
98
50
 
99
-
100
-
101
51
  $limit= $offset+5;
102
52
 
103
53
 
104
54
 
55
+ $query="select * from touroku order by date desc limit :limit offset :offset;";
56
+
57
+
58
+
59
+ $meirei_limit=$db->prepare($query);
60
+
61
+
62
+
105
- $meirei_limit->bind_param('ii',$limit,$offset);
63
+ $meirei_limit->bindvalue(':limit',$limit,PDO::PARAM_INT);
64
+
65
+ $meirei_limit->bindvalue(':offset',$offset,PDO::PARAM_INT);
106
66
 
107
67
 
108
68
 
@@ -110,11 +70,15 @@
110
70
 
111
71
 
112
72
 
113
- $a_total = count($a);
73
+ $a=$meirei_limit->fetchAll();
114
74
 
115
75
 
116
76
 
117
77
  define('max','5');
78
+
79
+
80
+
81
+ $a_total=count($a);
118
82
 
119
83
 
120
84
 
@@ -140,7 +104,7 @@
140
104
 
141
105
  foreach($data as $value) {
142
106
 
143
- printf($value["date"].' '.$value["title"].'<br />');
107
+ print($value["date"].' '.$value["title"].'<br />');
144
108
 
145
109
  }
146
110
 
@@ -190,9 +154,9 @@
190
154
 
191
155
 
192
156
 
193
- $meirei_limit->close();
157
+ unset($db);
194
158
 
195
- $db->close();
159
+
196
160
 
197
161
  ?>
198
162
 
@@ -208,7 +172,7 @@
208
172
 
209
173
  こちらのサイトを参考にさせていただきまして、後半部分に関してはほとんどコピペです。
210
174
 
211
- foreachの中の$valueでうまく$aの中身が取り出せてないのと思ってですが対処方法がわからずいます。また、$offsetと$limitに$nowの値をもっきて計算結果を入れるということもできず、難儀ており
175
+ 修正依頼をだいPDO変え修正しました
212
176
 
213
177
 
214
178
 

2

失礼しました。修正いたしました。(URL)

2022/01/10 12:11

投稿

mame9
mame9

スコア1

test CHANGED
File without changes
test CHANGED
@@ -204,7 +204,7 @@
204
204
 
205
205
  最初に
206
206
 
207
- [リンク内容](https://www.sejuku.net/blog/70234)
207
+ [https://www.sejuku.net/blog/70234](https://www.sejuku.net/blog/70234)
208
208
 
209
209
  こちらのサイトを参考にさせていただきまして、後半部分に関してはほとんどコピペです。
210
210
 

1

失礼しました。修正いたしました。

2022/01/09 14:44

投稿

mame9
mame9

スコア1

test CHANGED
File without changes
test CHANGED
@@ -204,7 +204,7 @@
204
204
 
205
205
  最初に
206
206
 
207
- https://www.sejuku.net/blog/70234
207
+ [リンク内容](https://www.sejuku.net/blog/70234)
208
208
 
209
209
  こちらのサイトを参考にさせていただきまして、後半部分に関してはほとんどコピペです。
210
210