使用下拉菜单更改 SQL 查询结果的显示方式

Posted

技术标签:

【中文标题】使用下拉菜单更改 SQL 查询结果的显示方式【英文标题】:Changing how SQL query resultswill display using a drop-down menu 【发布时间】:2014-08-14 13:22:52 【问题描述】:

我正在使用下面的方法通过下拉菜单更改查询的 SQL 结果的显示样式。我正在尝试创建普通视图或图库视图的选项等。我无法找到任何有关此的信息(这仅意味着我没有搜索正确的东西,或采取正确的方法)。我也在尝试使用 INCLUDE 外部文件来集中设计。

这种方法对我不起作用。主要是因为包含的文件中充满了带引号/双引号的代码(太多而无法转义)。

<script type="text/javascript">
    var textBlocks = new Array(
    '<?php include "../include/normal_view.php" ?>',
    '<?php include "../include/gallery_view.php" ?>',
    '<?php include "../include/mini_view.php" ?>');
    function changeView(elemid) 
    var ind = document.getElementById(elemid).selectedIndex;
    document.getElementById("display").innerhtml=textBlocks[ind];
</script>

<form>
<select id="whatever" onChange="changeView('whatever');">
<option value="0">Normal</option>
<option value="1">Gallery</option>
<option value="2">Minimum</option>
</select><br>
</form>

<div id="display"><?php include "../include/normal_view.php" ?></div>

包含的页面类似于以下内容;

<div id="normal_view">
  <?php 
      $result = $con->query("SELECT * FROM db_whatever");
        while ($row = $result->fetch_assoc())  ?>
        <div class="normal_view">
            <ul>
                <li class="price"><?php echo $row['PRICE']; ?></li>
                <li class="address"><?php echo $row['ADDRESS']; ?></li>
                <li class="bed"><?php echo $row['BEDS']; ?></li>
                <li class="bath"><?php echo $row['BATH']; ?></li>
            </ul>
        </div>  
<?php  //end of loop ?> 
</div>

这是正确的方法吗? 如果是这样,有没有办法可以命令脚本忽略 INCLUDED 文件中的所有逗号/双逗号? 你能推荐一个好的教程或例子吗?

【问题讨论】:

*_view.php 文件有什么作用?它仅仅是样式还是功能?因为您可以改为基于 url 参数加载样式表 @Rachael 我更正了一个错字以回答您的问题 >“包含的页面类似于以下内容;”因此,包含的 *_view.php 文件每个都运行查询,每个文件的显示方式不同。这就是我想完成功能的方式。不确定这是标准方法还是什么? 【参考方案1】:

我认为您使用的方法不正确。

HTML 应该作为 HTML 包含在内,而不是作为 javascript 中的文本字符串。 您可以在display: none 上使用它们,直到您需要它们为止。无需转义任何引号。

【讨论】:

我也是这么想的,但是由于我最初将 TEXT 作为字符串,所以我认为 HTML 也可以工作。我还在寻找这个功能是如何执行的。

以上是关于使用下拉菜单更改 SQL 查询结果的显示方式的主要内容,如果未能解决你的问题,请参考以下文章

如何根据用户选择的下拉菜单更改 PHP 中的 SQL 查询

Jquery:下拉菜单在移动设备上无法正常工作

更改下拉列表时替换 URL 查询字符串值

第一个下拉菜单更改第二个下拉菜单相关项目显示

面向对象组件——下拉菜单

使用AJAX根据下拉框返回查询结果