プログラミング初心者です。HTML, JavaScript, PHPを使用し、checkboxにチェックを入れ検索ボタンを押すと、MySQLからデータを取得し表示させる機能の実装を試みています。複数の項目を選択して検索したいため、checkboxで行いたいと考えています。
MySQLはitemsテーブルにurl, length, timeフィールドを用意し、text型でデータをセットしています。
誤っている箇所をご指摘頂ければ助かります。
よろしくお願いいたします。
*HTML
<div id ="length" >
<input name="length[]" type="checkbox" value="short">
<input name="length[]" type="checkbox" value="long">
</div>
<div id ="time" >
<input name="time[]" type="checkbox" value="morning">
<input name="time[]" type="checkbox" value="noon">
<input name="time[]" type="checkbox" value="evening">
<input name="time[]" type="checkbox" value="weekday">
<input name="time[]" type="checkbox" value="holiday">
</div>
<input type="button" name="search" value="検索"/>
<div id="outputArea">検索ボタンを押すと、ここにMySQLから取得したデータが表示される</div>
*JavaScript
$(function(){
$("#search").click(function(){
var aaa = $('div#length > input[name=***]:checked');
var bbb = $('div#time > input[name=***]:checked');
var inaaa=[];
aaa.each(function(){
inaaa.push(this.value);
})
var inbbb=[];
bbb.each(function(){
inbbb.push(this.value);
}]
$.post("output_do.php",inaaa,show);
$.post("output_do.php",inbbb,show);
});
});
function show(out){
var outdata = out.split(" ")
//表示させるデータ数はとりあえず3つほどを考えています
$("#outputArea").text(outdata[0]);
$("#outputArea").text(outdata[1]);
$("#outputArea").text(outdata[2]);
}
*PHP
mysql_connect('localhost','root','root') or die(mysql_error());
mysql_select_db('db');
mysql_query('SET NAMES UTF8');
$inaaa= $_POST["inaaa"];
$inbbb= $_POST["inbbb"];
if( isset($inaaa) ){
} else{
print '$inaaaは定義されていません';
}
if( isset($inbbb) ){
} else{
print '$inbbbは定義されていません';
}
$res = mysql_query("SELECT url FROM items
WHERE length = '" . $inaaa."' or time = '" . $inbbb."' LIMIT 0,10",
mysql_real_escape_string($inaaa),
mysql_real_escape_string($inbbb),
);
//この部分が特に不安です
if ($res !== FALSE) {
$out = "";
while ($row = mysql_fetch_array($res)) {
$out .= $row['url']."<i>";
}
echo $out;
}else{
echo "データがありません";
}
以上です。長々と申し訳ありませんm(__)m
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
lengthやtimeがチェックボックスだとして、かりに両方にチェックがついていない場合は
ひとつもヒットしないということでよいのでしょうか?
またtimeで朝昼夜と平日・休日をおなじレベルでチェックさせるのはかなり
無理がある仕様です。
フローチャートや仕様書を書いてロジック全体を理解することが必要だと思います
No.1
- 回答日時:
えーと
動かないから質問されているんですよね?
どこが動かない原因なのか、「この部分が特に不安です」というのはなにか検証してみた結果なんでしょうか?
クライアント側でのPOSTしている箇所(JS)部分が、jQueryなんでしょうか?
あまりいじったことがないんで、これで正しくPOSTされるのか、よくわかりませんが・・・
buttonのイベントになにも結びついてないんで、POSTされるようにも見えないですし、このJSソースが初期表示で読み込まれるのであれば、最初にPOSTされるようにも見えます。
PHP側では、$_POST['inaaa']は配列になってるんですよね?
配列をSQLにつっこんだところで動くわけないかとおもいます。
あと、SQL自体も「複数の項目を選択して検索したい」という内容とは合致してません。
あと、mysql_queryの引数にSQLのほかにPOSTされた値が入ってるのは何なのでしょうか?
引数はSQLと接続ハンドル以外にないはずですが・・・
失礼ながら、それぞれの言語をもう少ししっかりと学ばれたほうがよいのではないでしょうか?
おそらく赤ペンで間違ってるところを修正したら、赤一色になると思います。
今回の場合であれば、Javascriptを使ってPOSTする必要はないです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript javascriptで移動ボタンを押した際に遷移するボタンを追記したい 1 2022/11/29 03:02
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHP ボタンが押されたら処理を...
-
PHPで画像の渡しが上手く行きま...
-
PEAR auth で認証ができません
-
フォームボタンを押すたびに数...
-
HTMLで前の画面に戻る時、入力...
-
検索時の選択内容を保持する方法
-
POSTやGETの変数をフォーム無し...
-
Javascript→PHPに...
-
入力フォーム→確認画面→送信画...
-
チェックボックスのvalueを連結...
-
php mysql でチェックボックス...
-
formに複数ボタンを配置し、そ...
-
PHPでフォームから任意の画像削...
-
フォームへの前回入力値をクリ...
-
降順ソートができません。
-
PHPのmysqlに格納したデータの...
-
PHPの関数実行
-
HTMLのリンクをクリックするこ...
-
PHPで動的URLを静的URLに変換す...
-
データ検索のエラーについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<input type="hidden" >で配列...
-
HTMLで前の画面に戻る時、入力...
-
PHPでユーザー情報を入力して簡...
-
PHP ボタンが押されたら処理を...
-
PHPとHTML+Xamppの掲示板で画像...
-
syntax error, unexpected '}' ...
-
検索時の選択内容を保持する方法
-
PHPでCookieを使った訪問回数に...
-
チェックボックスによる検索
-
PHPで画像の渡しが上手く行きま...
-
フォームでのリセットを使う方法
-
チェックボックスによる検索(...
-
フォームへの前回入力値をクリ...
-
フォームボタンを押すたびに数...
-
php mysql でチェックボックス...
-
PHPの関数実行
-
PHPで、ボタンを押すと同じペー...
-
phpで分からないエラーが出てし...
-
ラジオボタンをsessionで使いたい
-
入力フォーム→確認画面→送信画...
おすすめ情報