チェックボックスから検索、PHP コード付き
現在チェックボックスとフリーワード検索をしようしたサイトを作ろうとしているのですが、どうしても仕様通りにいきませんでしたのでここで
質問をさせて頂きました。
検索画面ですが、簡単な2ページ構成になっております。(kensaku.phpとresult.php)
コードのどこが間違っているのかが分かりません。
どなたかお分かりになる方がいましたらお伺い出来ませんでしょうか。
宜しくお願い致します。
1,kensaku.php
<form action="result.php" method="POST" >
<table class="font12" cellpadding="5" cellspacing="10" width="430" align="center">
<tr>
<td>
<span class="checkbox"><input type="checkbox" name="sejyutu[]" value="1" />aaa</span>
<span class="checkbox"><input type="checkbox" name="sejyutu[]" value="2" />bbb</span>
<span class="checkbox"><input type="checkbox" name="sejyutu[]" value="3" />ccc</span><br />
</td>
</tr>
<tr>
<td><input type="text" name="sejyutu_else" value="フリーワード検索" size="30" /></td>
</tr>
<tr>
<td colspan="2" align="right"><input type="submit" value="検索する" /></td>
<?php
//DB接続・選択
if (!$int_connect = @mysql_connect('localhost','bbb','aaa')) {
die("can't connect mysql server.");
}
//データベースに接続
if (!@mysql_select_db("database", $int_connect)) {
die("can't use selected database.");
}
// SQLクエリ
$sql = "select * from table";
$where = array();
// sejyutuカラムの条件を調べる
if (isset($_POST['sejyutu']) && is_array($_POST['sejyutu'])) {
foreach ($_POST['sejyutu'] as $sejyutu) {
$where[] = "sejyutu like '%" . mysql_real_escape_string($sejyutu) . "%'";
}
}
// sejyutu_elseカラムの条件を調べる
if (isset($_POST['sejyutu_else']) && strlen($_POST['sejyutu_else'])) {
$where[] = "sejyutu_else like '%" . mysql_real_escape_string($_POST['sejyutu_else']) . "%'";
}
// 検索キーワードの有無により処理分岐
if (!$where) {
echo "検索キーワードを入力して下さい";
} else {
// SQL文を生成する
$sql .= " where " . implode(' OR ', $where);
$res = mysql_query($sql,$int_connect);
if (!mysql_num_rows($res)) {
echo "<p>該当データがありません</p>";
} else {
// TABLEタグを書く
while ($row = mysql_fetch_array($res)) {
// 各結果をTR,TDタグで整形して表示する
?>
<table width="430" cellpadding="5" cellspacing="0" class="font12">
<tr>
<td colspan="2"><p class="salon_name"><?php echo mb_convert_encoding(trim($row["salon_name"]),"sjis","euc-jp") ?></p></td>
<td><a href="salon_page.php?code=<?php echo $row['id'];?>">詳しくはこちら</a></td>
</tr>
<tr>
<td valign="top"><p class="salon_item">最寄り駅:</p></td>
<td class="salon_detail"><?php echo mb_convert_encoding(trim($row["station"]),"sjis","euc-jp") ?></td>
</tr>
<tr>
<td valign="top"><p class="salon_item">住所:</p></td>
<td class="salon_detail"><?php echo mb_convert_encoding(trim($row["address"]),"sjis","euc-jp") ?></td>
</tr>
<tr>
<td valign="top"><p class="salon_item">施術名</p></td>
<td class="salon_detail"><?php echo mb_convert_encoding(trim($row["sejyutu"]),"sjis","euc-jp") ?></td>
</tr>
<?php
}
}
}
?>