データが空だったときの扱いには注意したい。
こんな感じ
<?php
$sql = "SELECT * FROM 【テーブル名】 LIMIT 1, 20";
$stmt = $dbh->prepare($sql);
$stmt->execute();
if(empty($stmt)){
print 'データなし';
}else{
foreach ($stmt as $row) {
$example = $row['example'];
print $example;
}
}
$dbh = null;
?>
$row[]にテーブル内のカラム名を入れたら出る。
if文で囲う必要性
これなんだけど。
if(empty($stmt)){
print 'データなし';
}else{
foreach ($stmt as $row) {
$example = $row['example'];
print $example;
}
}
単純に「あるものを書き出す」だけならif文は要らない。
中身が無いなら無いで、if文で括らずにforeachだけを書いちゃっても支障はないらしい。
でも個人的にはif文で囲ったほうが安心感がある、というか囲わないとやっていけない。
例えばこんな感じ。
if(empty($stmt)){
print '<p>データなし</p>';
}else{
print '<ul>';
foreach ($stmt as $row) {
$id = $row['id'];
print '<li>'.$id.'</li>';
}
print '</ul>';
}
リストとかテーブルで並べていくとして、データがなかったら<ul>も<table>も使わないよってなってたら、こういう書き方をする必要が出てくる。
それにそもそも何も表示されてなかったら、何で表示されてないかを知っておかないとだし。
だからifはほしい。
コメント