2012-01-08 97 views
0

我有一个PHP页面,显示分类广告网站的用户数据库查询结果。用户在主页上启动搜索并使用选择框选择搜索参数,然后提交表单。如何将修改搜索功能添加到结果页面

一旦在结果页面上,我需要允许用户使用页面侧面的选择框(主页上的相同页面)来修改搜索参数。我如何着手使每个选择框中选择的选项与第一页上选择的选项相匹配。即如果用户选择制造:奥迪和型号:A8我希望制造商和型号下拉列出所有其他选项,但是已经预先选择了奥迪并且该型号预先选择了A8。

我知道如何在选择语句中为选项框选择选项,但是如何获取已经为结果页编码的select语句并为应该先选择的选项插入选定变量。

我希望这是有道理的。我没有发布任何代码,因为我在寻找想法,而不是帮助解决代码问题。

回答

0

当用户提交搜索表单时,表单中发布的所有变量都可以通过$ _POST或$ _GET获取。使用这些变量在结果页面上的搜索表单中重新选择正确的信息。

<select name="model"> 
    <option value="a8" <?php echo (isset($_POST['model']) && $_POST['model'] == 'a8') ? 'selected' : ''; ?>>A8</option> 
</select> 

编辑

动态数据库的方式:

<select name="model"> 
<?php 
$getRows = mysql_query("SELECT * FROM models"); 
while($row = mysql_fetch_assoc($getRows)) 
{ 
    echo '<option value="" ' . ((isset($_GET['model']) && $_GET['model'] == $row['model']) ? 'selected' : '') . '></option>'; 
} 
?> 
</select> 

现在你只需要一个if语句。你应该btw 使用GET参数,以便用户有机会书签结果供以后使用。

+0

感谢您的回答。如果每个选项的语句都会对页面加载时间运行产生什么影响?共有大约12个选择框,每个选项大约有20个选项。 – MaxK 2012-01-08 13:23:45

+0

循环这些简短列表不会影响客户端用户的加载时间,但是对于所有这些if语句,您的代码将非常难看 – Marle1 2012-01-08 18:23:06

+0

在您的情况下,我会考虑从数据库中提取列表,这将有助于简化您的代码。我编辑了我的答案,向你展示一个例子。 – Marle1 2012-01-08 20:40:41