使用下拉菜单更改 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 查询结果的显示方式的主要内容,如果未能解决你的问题,请参考以下文章