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

質問編集履歴

6

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

2022/01/10 13:55

投稿

mame9
mame9

スコア1

title CHANGED
File without changes
body CHANGED
@@ -6,8 +6,8 @@
6
6
  ### 発生している問題・エラーメッセージ
7
7
 
8
8
  ```
9
- 以下エラーメッセージではありませんが思い通りに動いていない結果表示です。(日付順に5件のみ取り出せています)
10
9
 
10
+
11
11
  ```
12
12
 
13
13
  ### 該当のソースコード

5

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

2022/01/10 13:55

投稿

mame9
mame9

スコア1

title CHANGED
File without changes
body CHANGED
@@ -8,12 +8,6 @@
8
8
  ```
9
9
  以下エラーメッセージではありませんが思い通りに動いていない結果表示です。(日付順に5件のみ取り出せています)
10
10
 
11
- 2022-01-18 まあああああああ
12
- 2022-01-13 かきくけこ
13
- 2022-01-13 牛
14
- 2022-01-09 はまやらわ
15
- 2022-01-08 あかさたな
16
- 全件数5件. 前へ 1 次へ
17
11
  ```
18
12
 
19
13
  ### 該当のソースコード

4

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

2022/01/10 13:54

投稿

mame9
mame9

スコア1

title CHANGED
File without changes
body CHANGED
@@ -22,39 +22,50 @@
22
22
  <?php
23
23
  $db=new PDO('mysql:dbname=$dbname;host=$dbhost','$user','$pass');
24
24
 
25
- $offset=($now - 1) * max;
25
+ $offset=($_GET['page_id'] - 1) * 5;
26
26
  $limit= $offset+5;
27
27
 
28
28
  $query="select * from touroku order by date desc limit :limit offset :offset;";
29
+ $saisho="select * from touroku order by date desc limit :limit offset :offset;";
30
+ $zenbu="select * from touroku order by date desc;";
29
31
 
30
32
  $meirei_limit=$db->prepare($query);
33
+ $meirei=$db->query($zenbu);
34
+ $meirei_saisho=$db->prepare($saisho);
31
35
 
36
+ $meirei_saisho->bindvalue(':limit',5,PDO::PARAM_INT);
37
+ $meirei_saisho->bindvalue(':offset',0,PDO::PARAM_INT);
38
+
32
39
  $meirei_limit->bindvalue(':limit',$limit,PDO::PARAM_INT);
33
40
  $meirei_limit->bindvalue(':offset',$offset,PDO::PARAM_INT);
34
41
 
35
42
  $meirei_limit->execute();
43
+ $meirei_saisho->execute();
36
44
 
37
45
  $a=$meirei_limit->fetchAll();
46
+ $first=$meirei_saisho->fetchAll();
47
+ $result=$meirei->fetch();
38
48
 
49
+ $total=count($result);
50
+
39
51
  define('max','5');
40
52
 
41
- $a_total=count($a);
53
+ $max_page = ceil($total/ max);
42
54
 
43
- $max_page = ceil($a_total/ max);
44
-
45
55
  if(!isset($_GET['page_id'])){
46
- $now = 1;
56
+ $now = 1;
57
+ foreach($first as $value) {
58
+ print($value["date"].' '.$value["title"].'<br />');
59
+ }
47
60
  }else{
48
- $now = $_GET['page_id'];
61
+ $now = $_GET['page_id'];
49
- }
50
62
 
51
- $data = array_slice($a, $offset, $limit, true);
52
-
53
- foreach($data as $value) {
63
+ foreach($a as $value) {
54
- print($value["date"].' '.$value["title"].'<br />');
64
+ print($value["date"].' '.$value["title"].'<br />');
65
+ }
55
66
  }
56
67
 
57
- print('全件数'.$a_total.'件. ');
68
+ print('全件数'.$total.'件. ');
58
69
 
59
70
  if($now > 1){
60
71
  echo '<a href="/pager.php?page_id='.($now - 1).'")>前へ</a>". " ';
@@ -85,6 +96,8 @@
85
96
  最初に
86
97
  [https://www.sejuku.net/blog/70234](https://www.sejuku.net/blog/70234)
87
98
  こちらのサイトを参考にさせていただきまして、後半部分に関してはほとんどコピペです。
99
+
88
100
  修正依頼をいただいたのち、PDOに変えて修正しました。
89
101
 
102
+ 修正し、やりたかった動きにできました。削れる部分はまだあるかと思いますが、javahack様、skys215様 のお力添えのおかげです。ありがとうございました!
90
103
  ### 補足情報(FW/ツールのバージョンなど)

3

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

2022/01/10 13:49

投稿

mame9
mame9

スコア1

title CHANGED
File without changes
body CHANGED
@@ -6,58 +6,40 @@
6
6
  ### 発生している問題・エラーメッセージ
7
7
 
8
8
  ```
9
- Warning: Illegal string offset 'date' in //public_html/pager.php on line 34
9
+ 以下エラーメッセージではありませんが思い通りに動いていない結果表示です。(日付順に5件のみ取り出せています)
10
10
 
11
- Warning: Illegal string offset 'title' in //public_html/pager.php on line 34
11
+ 2022-01-18 まあああああああ
12
- 6 6
12
+ 2022-01-13 かきくけこ
13
-
14
- Warning: Illegal string offset 'date' in //public_html/pager.php on line 34
15
-
16
- Warning: Illegal string offset 'title' in //public_html/pager.php on line 34
17
- 6 6
18
-
19
- Warning: Illegal string offset 'date' in //public_html/pager.php on line 34
20
-
21
- Warning: Illegal string offset 'title' in //public_html/pager.php on line 34
22
- 2 2
13
+ 2022-01-13 
23
-
24
- Warning: Illegal string offset 'date' in //public_html/pager.php on line 34
25
-
26
- Warning: Illegal string offset 'title' in //public_html/pager.php on line 34
27
- 2 2
14
+ 2022-01-09 はまやらわ
28
-
29
- Warning: Illegal string offset 'date' in //public_html/pager.php on line 34
30
-
31
- Warning: Illegal string offset 'title' in //public_html/pager.php on line 34
32
-  
15
+ 2022-01-08 あかさたな
33
- 全件数12件. 前へ 1 2". " 3". " 次へ". "
16
+ 全件数5件. 前へ 1 次へ
34
17
  ```
35
18
 
36
19
  ### 該当のソースコード
37
20
 
38
21
  ```PHP
39
22
  <?php
23
+ $db=new PDO('mysql:dbname=$dbname;host=$dbhost','$user','$pass');
40
24
 
41
- $db = mysqli_connect("","","","");
25
+ $offset=($now - 1) * max;
26
+ $limit= $offset+5;
42
27
 
43
- $meirei="select * from list order by date desc;";
44
- $meirei_limit = $db->prepare("select * from list order by date desc limit ? offset ?;");
28
+ $query="select * from touroku order by date desc limit :limit offset :offset;";
45
29
 
46
- $result_a=mysqli_query($db,$meirei);
30
+ $meirei_limit=$db->prepare($query);
47
- $a=mysqli_fetch_array($result_a);
48
31
 
32
+ $meirei_limit->bindvalue(':limit',$limit,PDO::PARAM_INT);
49
- $offset=($now - 1) * max;
33
+ $meirei_limit->bindvalue(':offset',$offset,PDO::PARAM_INT);
50
34
 
51
- $limit= $offset+5;
52
-
53
- $meirei_limit->bind_param('ii',$limit,$offset);
54
-
55
35
  $meirei_limit->execute();
56
36
 
57
- $a_total = count($a);
37
+ $a=$meirei_limit->fetchAll();
58
38
 
59
39
  define('max','5');
60
40
 
41
+ $a_total=count($a);
42
+
61
43
  $max_page = ceil($a_total/ max);
62
44
 
63
45
  if(!isset($_GET['page_id'])){
@@ -69,7 +51,7 @@
69
51
  $data = array_slice($a, $offset, $limit, true);
70
52
 
71
53
  foreach($data as $value) {
72
- printf($value["date"].' '.$value["title"].'<br />');
54
+ print($value["date"].' '.$value["title"].'<br />');
73
55
  }
74
56
 
75
57
  print('全件数'.$a_total.'件. ');
@@ -94,8 +76,8 @@
94
76
  echo '次へ';
95
77
  }
96
78
 
97
- $meirei_limit->close();
98
- $db->close();
79
+ unset($db);
80
+
99
81
  ?>
100
82
  ```
101
83
 
@@ -103,6 +85,6 @@
103
85
  最初に
104
86
  [https://www.sejuku.net/blog/70234](https://www.sejuku.net/blog/70234)
105
87
  こちらのサイトを参考にさせていただきまして、後半部分に関してはほとんどコピペです。
106
- foreachの中の$valueでうまく$aの中身が取り出せてないのと思ってですが対処方法がわからずいます。また、$offsetと$limitに$nowの値をもっきて計算結果を入れるということもできず、難儀ており
88
+ 修正依頼をだいPDO変え修正しました
107
89
 
108
90
  ### 補足情報(FW/ツールのバージョンなど)

2

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

2022/01/10 12:11

投稿

mame9
mame9

スコア1

title CHANGED
File without changes
body CHANGED
@@ -101,7 +101,7 @@
101
101
 
102
102
  ### 試したこと
103
103
  最初に
104
- [リンク内容](https://www.sejuku.net/blog/70234)
104
+ [https://www.sejuku.net/blog/70234](https://www.sejuku.net/blog/70234)
105
105
  こちらのサイトを参考にさせていただきまして、後半部分に関してはほとんどコピペです。
106
106
  foreachの中の$valueでうまく$aの中身が取り出せていないのだと思っているのですが、対処方法がわからずにいます。また、$offsetと$limitに$nowの値をもってきて計算結果を入れるということもできず、難儀しております。
107
107
 

1

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

2022/01/09 14:44

投稿

mame9
mame9

スコア1

title CHANGED
File without changes
body CHANGED
@@ -101,7 +101,7 @@
101
101
 
102
102
  ### 試したこと
103
103
  最初に
104
- https://www.sejuku.net/blog/70234
104
+ [リンク内容](https://www.sejuku.net/blog/70234)
105
105
  こちらのサイトを参考にさせていただきまして、後半部分に関してはほとんどコピペです。
106
106
  foreachの中の$valueでうまく$aの中身が取り出せていないのだと思っているのですが、対処方法がわからずにいます。また、$offsetと$limitに$nowの値をもってきて計算結果を入れるということもできず、難儀しております。
107
107