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

回答編集履歴

2

最小値条件

2016/06/24 11:00

投稿

mpyw
mpyw

スコア5223

answer CHANGED
@@ -18,7 +18,7 @@
18
18
  もしプレースホルダで書くなら
19
19
 
20
20
  ```php
21
- $page = (int)filter_input(INPUT_GET, 'page');
21
+ $page = max(0, (int)filter_input(INPUT_GET, 'page'));
22
22
  $start = $page * 5;
23
23
  $sql = "SELECT pref,city FROM user_data WHERE 1 ORDER BY id DESC LIMIT ?,5";
24
24
  $stmt = $pdo->prepare($sql);
@@ -26,4 +26,4 @@
26
26
  $stmt->execute();
27
27
  ```
28
28
 
29
- となります.
29
+ となります.(念のため負の数は0になおしています)

1

用語

2016/06/24 11:00

投稿

mpyw
mpyw

スコア5223

answer CHANGED
@@ -4,7 +4,7 @@
4
4
  sprintf("... LIMIT %d, 5", $start)
5
5
  ```
6
6
 
7
- これは`%d`の位置に整数キャストして`$start`を当てはめる構文です.[sprintf](http://php.net/manual/ja/function.sprintf.php)のマニュアルを読めば
7
+ これは`%d`の位置に整数キャストして`$start`を当てはめる使い方をしています.[sprintf](http://php.net/manual/ja/function.sprintf.php)のマニュアルを読めば
8
8
 
9
9
  ```php
10
10
  sprintf("... LIMIT %d,$start, 5")
@@ -24,4 +24,6 @@
24
24
  $stmt = $pdo->prepare($sql);
25
25
  $stmt->bindValue(1, $start, PDO::PARAM_INT);
26
26
  $stmt->execute();
27
- ```
27
+ ```
28
+
29
+ となります.