抜粋して書かせて頂きます。
*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
以下、参考まで
<?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件)