从Dynamic下拉菜单查询MYSQL DB

时间:2012-04-19 12:35:59

标签: php mysql

我从这个网站获得了很棒的提示,但我现在真的很挣扎,需要一些专家的帮助,我正在学习,所以请好一点:-)无论如何,我有一个动态更改3个下拉菜单的脚本,具体取决于什么用户选择,我有一个数据库,一个表,我可以查询没问题(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>";





?>

1 个答案:

答案 0 :(得分: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)) {

就我所见,这就是你唯一的问题,你刚刚省略了查询。

希望有所帮助,随时可以询问更多细节。