1

私はこのサイトから素晴らしいヒントを得ていますが、今何かに本当に苦労していて、専門家の助けが必要です、私は学んでいるのでいいです:-)とにかく、私はユーザーが選択したものに応じて3つのドロップダウンメニューを動的に変更するスクリプトを持っています、私はこれまで問題なくクエリできる1つのテーブル(mysql)を持つデータベースを持っていますが、問題は、ユーザーがドロップダウンメニューから選択したものに基づいて結果を生成できないようで、レコードが表示されないことです。単語ではなく数字のメニュー項目でクエリを使用できるかどうかさえわかりません。少しでも助けていただければ幸いです。少しだけ機能させる必要があります。管理できると思います=すべての人に感謝します。

<?php
// Make a MySQL Connection
mysql_connect("localhost", "", "") or die(mysql_error());
mysql_select_db("travel") or die(mysql_error());


$valid_class = array('4', '6', '7', '1', '5', '3');
$valid_category = array('4.1.9', '4.1.7', '4.1.8', '4.1.6', '4.1.5', 
'4.1.2', '4.1.1', '4.1.10', '4.1.4'' 4.1.3', );

$where = array();
$where[] = 'menuOne = "' . mysql_real_escape_string($_POST['menuOne']) . '"';
;

if (in_array($_POST['menuOne'], $valid_class))
{
$where[] = 'menuOne = "' . $_POST['menuOne'] . '"';
}

if (in_array($_POST['menuTwo'], $valid_category))
{
$where[] = 'menuTwo = "' . $_POST['menuTwo'] . '"';
}
// Retrieve all the data from the "category" table
$result = 'SELECT * FROM records WHERE ' . implode(' AND ', $where);



      if(!isset($result))
{
mysql_affected_rows($result);

}
echo "\n <table border=1 width=100%>";

       echo "\n<tr>" .
             "\n\t<th>ID</th>" .
             "\n\t<th>Name</th>" .
             "\n\t<th>Address</th>" .
             "\n\t<th>Location</th>" .
             "\n\t<th>Email</th>" .
             "\n\t<th>Telephone</th>" .
             "\n\t<th>Website</th>" .
             "\n\t<th>Open Season</th>" .
             "\n\t<th>Destination</th>" .
             "\n\t<th>Categories</th>" .

             "\n</tr>";

       while($row = @ mysql_fetch_array($result)) {

          echo "\n<tr>" .
                "\n\t<td>{$row["ID"]}</td>" .
                "\n\t<td>{$row["Name"]}</td>" .
                "\n\t<td>{$row["Address"]}</td>" .
                "\n\t<td>{$row["Location"]}</td>" .
                "\n\t<td>{$row["Email"]}</td>" .
                "\n\t<td>{$row["Telephone"]}</td>" .
                "\n\t<td>{$row["Website"]}</td>" .
                "\n\t<td>{$row["Open Season"]}</td>" .
                "\n\t<td>{$row["Destination"]}</td>" .
                "\n\t<td>{$row["Categories"]}</td>";

       }
       echo "\n</table>";





?>
4

1 に答える 1

0

あなたのmysqlクエリのために

$result = 'SELECT * FROM records WHERE ' . implode(' AND ', $where);

動作するには、実際に送信する必要があります。

mysql_query($result)

あなたが現在持っているもの

while($row = @ mysql_fetch_array($result)) {

msql_query呼び出しの結果で実行されるように設計されています。例えば

$query= mysql_query($result);

次に実行します

while($row = @ mysql_fetch_array($query)) {

それが私が見る限りあなたの唯一の問題です、あなたはちょうどクエリを省略しました。

お役に立てば幸いです。詳細については、お気軽にお問い合わせください。

于 2012-04-19T12:47:14.367 に答える