回答編集履歴
1
コードにゴミが入っていたので修正
answer
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
foreach 文を使ってデータベースから取得した結果を出力するのは出来ているので、そこに4つ区切りに <div>, </div> を挿入するようなコードを加えればよいと思います。
|
2
2
|
|
3
|
-
説明のため表示するだけのサンプルコードを示します:
|
3
|
+
説明のため、まず表示するだけのサンプルコードを示します:
|
4
4
|
|
5
5
|
```php
|
6
6
|
<?php
|
@@ -27,7 +27,7 @@
|
|
27
27
|
1人目
|
28
28
|
```
|
29
29
|
|
30
|
-
でここに4つおきに <div>, </div> を挿入するわけですが、方法を考えるのはコーディングというより、どちらかというと**算数と頭の体操**です。
|
30
|
+
で、ここに4つおきに <div>, </div> を挿入するわけですが、方法を考えるのはコーディングというより、どちらかというと**算数と頭の体操**です。
|
31
31
|
|
32
32
|
まず先頭から4つおきに <div> を入れるなら、4の倍数(4n)になったときに <div> を出力すればよさそうです。つまり判定式は `$i % 4 === 0` です。また </div> は 4n-1 になったときに出力します。判定式は `$i % 4 === 3` です。ただこのままですと要素数が4の倍数ではない場合にタグが閉じられないため、最後にも閉じタグを挿入するのを忘れないでください。
|
33
33
|
|
@@ -36,7 +36,7 @@
|
|
36
36
|
```php
|
37
37
|
<?php foreach ($records as $i => $record): ?>
|
38
38
|
<?= $i % 4 === 0 ? '<div>'.PHP_EOL : null ?>
|
39
|
-
<?=
|
39
|
+
<?= htmlspecialchars($record['name']).PHP_EOL ?>
|
40
40
|
<?= $i % 4 === 3 || $i === count($records) - 1 ?'</div>'.PHP_EOL : null ?>
|
41
41
|
<?php endforeach; ?>
|
42
42
|
```
|
@@ -44,19 +44,19 @@
|
|
44
44
|
```
|
45
45
|
// 結果
|
46
46
|
<div>
|
47
|
-
|
47
|
+
9人目
|
48
|
-
|
48
|
+
8人目
|
49
|
-
|
49
|
+
7人目
|
50
|
-
|
50
|
+
6人目
|
51
51
|
</div>
|
52
52
|
<div>
|
53
|
-
|
53
|
+
5人目
|
54
|
-
|
54
|
+
4人目
|
55
|
-
|
55
|
+
3人目
|
56
|
-
|
56
|
+
2人目
|
57
57
|
</div>
|
58
58
|
<div>
|
59
|
-
|
59
|
+
1人目
|
60
60
|
</div>
|
61
61
|
```
|
62
62
|
|