人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

プログラミング初心者です。HTML, JavaScript, PHPを使用し、checkboxにチェックを入れ検索ボタンを押すと、MySQLからデータを取得し表示させる機能の実装を試みています。書き方を教えて頂ければ助かります。
抜粋して書かせて頂きます。

*HTML
<input id="length" name="length[]" type="checkbox" value="short">
<input id="length" name="length[]" type="checkbox" value="long">
<input type="submit" id="search" value="検索" />
<div id="outputArea">ここにMySQLから取得したデータを表示させたい</div>

*JavaScript(jQuery1.6使用)
$(function(){
$("#search").click(function(){
var length = $("[name='length[]']:checked");
var test=[];
length.each(function(){
test.push(this.value);
})
$("#outputArea").load("aaa.php",{test:test});
});
});

*PHP(名前はaaa.phpです。SQLへの接続確認等は大丈夫です。)
$test= $_POST["test"];
$rows = mysql_query("SELECT 取得したいデータ FROM items WHERE length = '" . $test."' ");
ーーPHPのこれ以下の記述がよく分かりませんーー

いろいろ書いてみましたが、うまく動作してくれません。
よろしくお願いしますm(__)m

●質問者: toshistyle
●カテゴリ:コンピュータ ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● うぃんど

以下、参考まで

<?php
// 検索結果があまりにも多いと処理が無駄に重くなるのでリミットをつけておくのがいい
// ここでは0から20レコードと固定化した
// ページング機能をつけたいという要望が出た際(出るだろうけど、まずは動かすことが先決)は
// 現在表示されているページ番号などをjavascript側とやりとりするようにして、LIMITを調節したりする
// mysql_queryは行を返すのではなくリソースを返すので、ここでは$rowsではなく$resとした
$test= $_POST["test"];
$res = mysql_query("SELECT 商品名, 単価, 在庫数 FROM items WHERE length = '" . $test."' LIMIT 0, 20");
if ($res !== FALSE) {
 // mysql_queryが一応は正常に機能した場合の処理
 while ($row = mysql_fetch_array($res)) {
 echo $row['商品名'];
 echo $row['単価'];
 echo ($row['在庫数'] > 0 ? '在庫あり' : '在庫なし');
 echo '<br />';
 }
} else {
 // mysql_query が正常終了しなかった場合の処理
 // ここではMySQLからのエラーメッセージだけとしている
 echo mysql_error();
}
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ