PHPでMySQLを操作する:(7) レコードの表示(抽出条件付き)
PHPからMySQLのデータベースにアクセスして、レコードを抽出する際に、条件を指定する方法です。
テーブルは前回と同じ構造とします。
レコードを条件付きで抽出する
PHPコード
<?php
// 定数
define(‘HOST’,’localhost’); // ホスト名
define(‘DBNAME’,’database’); // データベース名
define(‘ID’,’database_id’); // データベースログインID
define(‘PASSWORD’,’database_password’); // データベースログインパスワード
define(‘TBNAME’,’table’); // テーブル名
// MySQLに接続
try{
$sql = new PDO( ‘mysql:host=’.HOST.’; dbname=’.DBNAME.’; charset=utf8′, ID, PASSWORD);
print ‘ 接続に成功しました。’;
} catch ( PDOException $e) {
print “接続に失敗しました。:{$e->getMessage()}”;
}
// レコードの更新
$order=”id”;
$extract=”code”;
$extract_data=10;
$sql_sentence = ‘SELECT * FROM ‘.TBNAME.’WHERE ‘.$extract.'<‘.$extract_data.’ ORDER BY ‘.$order.’ ASC’;
$ir -> $sql -> query($sql_sentense);
print ‘<table border=1><tr><td>連番</td><td>コード</td><td>名前</td><td>日付</td><td>フラグ</td></tr>’;
while($row = $ir -> fetch(PDO::FETCH_ASSOC)){
$id = $row[“id”];
$code = $row[“code”];
$name = $row[“name”];
$date = $row[“date”];
$flag = $row[“flag”];
echo<<<EOF
<tr>
<td>$id</td>
<td>$code</td>
<td>$name</td>
<td>$date</td>
<td>$flag</td>
</tr>
EOF;
}
print”</table>”;
$sql = null;
?>
$extractに抽出条件を設定するフィールド名を指定しています。
$extract_dataに抽出する条件となる値を指定しています。
この場合は、コードが10番より小さいレコードを抽出します。
関連記事