※ ChatGPTを利用し、要約された質問です(原文:チェックボックス検索システム)
チェックボックス検索システムの使い方
このQ&Aのポイント
チェックボックス検索システムを使用して、特定の条件に合致するデータをデータベースから取得する方法を教えてください。
質問文章には、チェックボックス検索システムの使い方に関する説明と、一部のコードが含まれています。しかし、このコードではデータベースからデータを取得できないようです。
どのようにすれば、チェックされた情報に該当するデータだけを取得し表示させることができるでしょうか?
<?PHP
$con = mysql_connect('******.jp', '*********', '******');
if (!$con) {
exit('データベースに接続できませんでした。');
}
$result = mysql_select_db('******', $con);
if (!$result) {
exit('データベースを選択できませんでした。');
}
$result = mysql_query('SET NAMES utf8', $con);
if (!$result) {
exit('文字コードを指定できませんでした。');
}
$arr1 = array();
foreach($_POST['tiiki'] as $tiiki){
$arr1[] = " tiiki = '$tiiki' ";
}
$arr2 = array();
foreach($_POST['syoku'] as $syoku){
$arr2[] = " syoku = '$syoku' ";
}
$arr3 = array();
foreach($_POST['koyou'] as $koyou){
$arr3[] = " koyou = '$koyou' ";
}
$a = implode(" OR ",$arr1);
$b = implode(" OR ",$arr2);
$c = implode(" OR ",$arr3);
$sql = "select * from kensaku where ($a) AND ($b)AND ($c) order by date desc";
print $sql;
?>
<?php
$con = mysql_connect('*****.jp', '******', '******');
if (!$con) {
exit('データベースに接続できませんでした。');
}
$result = mysql_select_db('*******', $con);
if (!$result) {
exit('データベースを選択できませんでした。');
}
$result = mysql_query('SET NAMES utf8', $con);
if (!$result) {
exit('文字コードを指定できませんでした。');
}
$result = mysql_query('SELECT * FROM kensaku', $con);
while ($data = mysql_fetch_array($result)) {
echo '<p>' . $data['tiiki'] . ':' . $data['syoku'] . ':' . $data['koyou'] . ':' . $data['kai'] . "</p>\n";
}
$con = mysql_close($con);
if (!$con) {
exit('データベースとの接続を閉じられませんでした。');
}
?>
これで表示されるのが、
select * from kensaku where ( tiiki = '豊岡市' ) AND ( syoku = '飲食' )AND ( koyou = 'バイト' ) order by date desc
豊岡市:飲食:バイト:オシイそば
豊岡市:製造:正社員:オシイ運輸
養父市:飲食:バイト:オシイ物産
です。一番目のphpデータはPOST文を受け取っただけでデータベース内から検索してくれないし、二番目のphpデータはデータべスにある情報を全て受け取っただけです。
僕はチェックされた情報をPOSTで受け取り、チェックされた内容に該当するデータだけデータベースから受け取り表示させたいんですが、どうすればいいですか?
補足
データベースへの接続文がありませんが動作しますか?