チェックボックス検索システム
<?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で受け取り、チェックされた内容に該当するデータだけデータベースから受け取り表示させたいんですが、どうすればいいですか?
補足
返信が遅くなりまして申し訳ありません。 >今までどうやってテストとかしていたんでしょうか・・・? 今まではインターネットに接続されているパソコンでレンタルサーバのオプションで使えるSQLなどを使ってシステムを作ったのです。 今度は「サーバ」とか「ネットワーク」とかいうのが一切ない別の端末で作ろうと思いまして。 >「PHP MySQL windows」等のキーワードで検索すれば そうですね。もう少し自分で調べてみます。 ありがとうございました。