現在チェックボックスとフリーワード検索をしようしたサイトを作ろうとしているのですが、どうしても仕様通りにいきませんでしたのでここで
質問をさせて頂きました。
検索画面ですが、簡単な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
}
}
}
?>
No.1ベストアンサー
- 回答日時:
><input type="checkbox" name="sejyutu[]" value="1" />aaa
送信されるデータは「1」なのだけど、データベース内では、「aaa」で検索したいのじゃなかろうか?
通常、value="aaa" にした方が楽ですけど、文字コード問題などがあるなら、受信してから変換が必要ですね。
さっそくのご返答ありがとうございます
hrm_mmm様が申しておりました通り変更してみましたら
無事にうまくいきました。
プログラムの方ばかりに目がいっており、肝心な所がおろそかになっておりました。
ご指摘どうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- HTML・CSS 【CSS】:hasで可能? imgを含むtr要素を選択したい 1 2022/11/17 14:36
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPで[]の使い方について
-
エクセルVBAについて
-
mysql_insert_id()の使い方
-
sortable ギブアップです…助け...
-
アラートでyes noを作りたいです。
-
チェックボックスでチェックし...
-
phpでmysqlを使ってデータベー...
-
dbに登録したデータをphpのプル...
-
ラジオボタンをループすること...
-
phpでデータリスト作成
-
PHPでMySQLデータを呼び出し、w...
-
checkboxクリック時、SQLを実行...
-
文字化けが解決できません。お...
-
PHP 勤務時間の合計を出したい
-
DBで検索結果に該当するデータ...
-
ユーザー名、パスで認証して、...
-
sortableを使用したデータのUPDATE
-
SELECT結果から動的にコンボボ...
-
VBAをつかってクエリの情報を抽...
-
実行時エラー3131 FROM 句の構...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPで[]の使い方について
-
php テーブルが作成できない
-
dbに登録したデータをphpのプル...
-
phpでmysqlを使ってデータベー...
-
アラートでyes noを作りたいです。
-
DBで検索結果に該当するデータ...
-
checkboxクリック時、SQLを実行...
-
文字化けが解決できません。お...
-
SELECT結果から動的にコンボボ...
-
PHPでMySQLデータを呼び出し、w...
-
while文の中にwhile文を書きた...
-
sortable ギブアップです…助け...
-
PHP と MySQL でテーブルの行数...
-
重複レコードをグループ化した...
-
PHPでMySQLのデータを2次元配...
-
mysql>PHPにデータ表示、10件ご...
-
PHPについてなのですが未定義の...
-
VBA初心者です。
-
ラジオボタンをループすること...
-
BLOBでの画像表示について
おすすめ情報