回答編集履歴

2

見直し

2019/06/04 09:55

投稿

退会済みユーザー
test CHANGED
@@ -36,18 +36,48 @@
36
36
 
37
37
  ```
38
38
 
39
- テーブル reserve に、カラム count ていうのが存在するかどうかわからいけどあるんだよね?
39
+ countやtimeといた、SQLの予約語をそのままカラム名に使うのは混乱の元ので
40
40
 
41
- もしもカラム count っのに使っているのなら、そりゃエラーになりまよね
41
+ 間に合うならカラム名を変えテーブルを作り直したほうがす。
42
42
 
43
- もしして
43
+ それが出来ねるのであれば例えば
44
-
45
-
46
-
47
- ```php
48
-
49
- $reserve_query = "SELECT COUNT(*) AS CNT FROM reserve WHERE reserve_shop_id=:shop_id";
50
44
 
51
45
  ```
52
46
 
47
+ $reserve_query = <<<EOT
48
+
49
+ SELECT
50
+
53
- とかすれば、`$row['CNT']`としてレコード数が取得できたりしますけど。
51
+ `reserve_id`, `reserve_shop_id`, `count`, `time`,
52
+
53
+ `reserve_comment`, `reserve_time`, `reserve_tel`, `reserve_push_id`
54
+
55
+ FROM reserve
56
+
57
+ WHERE reserve_shop_id = :shop_id
58
+
59
+ EOT;
60
+
61
+ ```
62
+
63
+ を試したり
64
+
65
+ ```
66
+
67
+ $reserve_query = <<<EOT
68
+
69
+ SELECT
70
+
71
+ `reserve_id`, `reserve_shop_id`, `count` AS "CNT", `time` AS "TM",
72
+
73
+ `reserve_comment`, `reserve_time`, `reserve_tel`, `reserve_push_id`
74
+
75
+ FROM reserve
76
+
77
+ WHERE reserve_shop_id = :shop_id
78
+
79
+ EOT;
80
+
81
+ ```
82
+
83
+ とか試すといいかも。

1

見直し

2019/06/04 09:55

投稿

退会済みユーザー
test CHANGED
@@ -1,13 +1,53 @@
1
- ページング機能って、
1
+ ```php
2
+
3
+ // reserveテーブルのreserve_shop_idからshop名を取り出す
4
+
5
+ $reserve_query = "SELECT * FROM reserve WHERE reserve_shop_id=:shop_id";
6
+
7
+ $reserve_stmt = $pdo->prepare($reserve_query);
8
+
9
+ $reserve_stmt->bindValue(':shop_id', $shop_id, PDO::PARAM_INT);
10
+
11
+ $reserve_stmt->execute();
12
+
13
+ $reserve_stmt->debugDumpParams();
14
+
15
+ //結果->SQL: [52] SELECT * FROM reserve WHERE reserve_shop_id=:shop_id Params: 1 Key: Name: [8] :shop_id paramno=0 name=[8] ":shop_id" is_param=1 param_type=1
16
+
17
+ //var_dump($shop_id); ->int(4)
2
18
 
3
19
 
4
20
 
5
- 1)表示対象件数を求める。
21
+ // reserveテーブルから予約情報取り出し
6
22
 
7
- 2)ページ表示件数を超える場合、開始レコード位置と表示件数を加えたクエリーでデータ表示。
23
+ $arr_reserve = [];
8
24
 
25
+ while ($row = $reserve_stmt->fetchAll(PDO::FETCH_ASSOC)) {
26
+
27
+ $arr_reserve[] = [
28
+
29
+ 'count' => $row['count'],    <-エラー箇所
30
+
31
+ ];
32
+
33
+ }
34
+
35
+ //var_dump($arr_reserve);->array(1) { [0]=> array(6) { ["count"]=> NULL ["time"]=> NULL} }
36
+
37
+ ```
38
+
39
+ テーブル reserve に、カラム count っていうのが存在するかどうかわからないけど、あるんだよね?
40
+
9
- 3)次へや前へリンクに、ページ位置や表示件数情報を加え自分自身を呼び出せようにす
41
+ もしもカラム count っていうに使っのなら、そりゃエラーなりまよね
42
+
43
+ もしかして、
10
44
 
11
45
 
12
46
 
47
+ ```php
48
+
49
+ $reserve_query = "SELECT COUNT(*) AS CNT FROM reserve WHERE reserve_shop_id=:shop_id";
50
+
51
+ ```
52
+
13
- ってだけだ思うのでどうわからないのでしょうか
53
+ れば`$row['CNT']`としてレコード数取得きたりますけど