プログラミング初心者です。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.1
- 回答日時:
えーと
動かないから質問されているんですよね?
どこが動かない原因なのか、「この部分が特に不安です」というのはなにか検証してみた結果なんでしょうか?
クライアント側でのPOSTしている箇所(JS)部分が、jQueryなんでしょうか?
あまりいじったことがないんで、これで正しくPOSTされるのか、よくわかりませんが・・・
buttonのイベントになにも結びついてないんで、POSTされるようにも見えないですし、このJSソースが初期表示で読み込まれるのであれば、最初にPOSTされるようにも見えます。
PHP側では、$_POST['inaaa']は配列になってるんですよね?
配列をSQLにつっこんだところで動くわけないかとおもいます。
あと、SQL自体も「複数の項目を選択して検索したい」という内容とは合致してません。
あと、mysql_queryの引数にSQLのほかにPOSTされた値が入ってるのは何なのでしょうか?
引数はSQLと接続ハンドル以外にないはずですが・・・
失礼ながら、それぞれの言語をもう少ししっかりと学ばれたほうがよいのではないでしょうか?
おそらく赤ペンで間違ってるところを修正したら、赤一色になると思います。
今回の場合であれば、Javascriptを使ってPOSTする必要はないです。
No.2
- 回答日時:
lengthやtimeがチェックボックスだとして、かりに両方にチェックがついていない場合は
ひとつもヒットしないということでよいのでしょうか?
またtimeで朝昼夜と平日・休日をおなじレベルでチェックさせるのはかなり
無理がある仕様です。
フローチャートや仕様書を書いてロジック全体を理解することが必要だと思います
お探しの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も見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
チェックボックス複数選択 mysql受け渡し
PHP
-
チェックボックスによる検索(複数チェックの場合)
PHP
-
DBで検索結果に該当するデータがなかった場合
PHP
-
-
4
php mysql でチェックボックスによる検索
PHP
-
5
チェックボックスの項目をDBにinsertしたい
MySQL
-
6
dbに登録したデータをphpのプルダウンに表したい
PHP
-
7
【初歩】ラジオボタンをつかったPHPフォームから値のMySQLへの格納と取り出し
MySQL
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPとHTML+Xamppの掲示板で画像...
-
PHPで画像の渡しが上手く行きま...
-
複数行のデータ一括更新に関して
-
POSTデータのNAME属性をVALUEに...
-
IEで、フォームにたとえば
-
チェックボックスを用い、MySQL...
-
フォームの途中で追加するには
-
検索時の選択内容を保持する方法
-
PHPでユーザー情報を入力して簡...
-
PHPでCookieを使った訪問回数に...
-
現在ラジオボタンのデータベー...
-
チェックボックスによる検索
-
【PHPチェック】ラジオボタンが...
-
フォームでのリセットを使う方法
-
phpやmysqlで作る簡易掲示板作...
-
配列をhiddenで
-
DBの値をチェックボックスに反...
-
チェックボックスから複数のval...
-
PHP+MySQLで複数のラジオボタン...
-
HTMLで前の画面に戻る時、入力...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<input type="hidden" >で配列...
-
HTMLで前の画面に戻る時、入力...
-
PHPでユーザー情報を入力して簡...
-
PHP ボタンが押されたら処理を...
-
PHPとHTML+Xamppの掲示板で画像...
-
syntax error, unexpected '}' ...
-
検索時の選択内容を保持する方法
-
PHPでCookieを使った訪問回数に...
-
チェックボックスによる検索
-
フォームでのリセットを使う方法
-
PHPで画像の渡しが上手く行きま...
-
チェックボックスによる検索(...
-
フォームへの前回入力値をクリ...
-
フォームボタンを押すたびに数...
-
php mysql でチェックボックス...
-
PHPの関数実行
-
phpで分からないエラーが出てし...
-
PHPで、ボタンを押すと同じペー...
-
ラジオボタンをsessionで使いたい
-
入力フォーム→確認画面→送信画...
おすすめ情報