根据从 MySQL 检索到的数据填充 HTML 表头
Posted
技术标签:
【中文标题】根据从 MySQL 检索到的数据填充 HTML 表头【英文标题】:Populating HTML Table Headers according to the data retrieved from MySQL 【发布时间】:2014-01-04 10:40:38 【问题描述】:我在编写代码时遇到了困难,需要您的帮助。我正在创建一个应用程序,其中患者的数据由医生存储在数据库中。我知道如何使用 php 将数据从 mysql DB 检索到 html 表中。但是我不知道如何根据检索到的数据动态填充 HTML 标头和数据。更具体地说,我只想显示医生开出的数据。
如果医生开了药,则只应填充药头。如果医生只开了喷雾剂,则只应填充喷雾头,依此类推..
【问题讨论】:
标题是什么意思? 通过标题我的意思是表格标题..我不知道标题是什么意思,但是为了根据 t 填充 DOM,值是我根据返回的行制作控制语句
示例:
<?php
if(mysqli_num_rows($the_query_variable) >= 1)
//the while loop for grabbing the data
?>
//these are the datas
<div>the results</div>
<?php
else
?>
//you don't even need to do this else statement if you don't want to say no results...
<div> no results found</div>
<?php
?>
【讨论】:
如果你需要这个 $the_query_variable = mysqli_query($db_conect_var,"SELECT query");【参考方案2】:在可视化您的意图时有点困难,但从我的脑海中,您需要在构建标头时在循环中添加一组 if
语句。
if (row[1] == "spray")
echo "<tr><th>Spray</th></tr>";
同样,这只是一个粗略的示例,row[1]
是包含药物或喷雾剂的列。这样一来,如果医生同时开了这两种处方(即在新标签上添加药物行,只是一个想法),您可以做更多事情,或者您可以完全省略其中一个。
如果有其他想法,我会编辑我的评论。
编辑:
所以我建立了一个快速表“患者”,其中包含一个药物列和一个喷雾列。
select if (spray is null, medicine, spray) as type from patients where medicine is not null
这将显示除null
之外的所有药物行。您可以将 type
列重命名为其他名称,并在构建 HTML 标头时在 PHP 中使用它。
我在这里建立了表格,http://phpfiddle.org/,转到“资源”选项卡并单击“辅助工具 =>”按钮并更改为 MySQL。单击“显示表格”按钮并搜索“患者”表格,单击它并复制粘贴我的查询以查看结果。
编辑:
忘了提到你可以在as type
之后添加其他列来替代select *
编辑 3(笑):
您还可以在 *** 上查看其他答案并从中获取一些小东西,例如通过更改和链接每列 (SQL: Selecting columns based on column value from another table) 的 if
语句来构建动态列名称。
快速提示,我还学到了一个艰难的方法,即您可以使用 mysql 做更多事情,而不是将所有繁重的工作交给 PHP,从 MySQL 获取打印就绪的结果集而不是使用 PHP 格式化它们更快、更清洁、更安全在您执行Select *
之后,尤其是当您拥有包含大量数据的表时,并且它可以更好地扩展。
希望这会有所帮助。
【讨论】:
我想过按照你说的做,但后来我想,我需要写很多 if 查询并填充数据。如果我错了,请纠正我。 其实不需要做很多查询,可以用例来缩小选择结果集。 dev.mysql.com/doc/refman/5.1/en/control-flow-functions.html设置一个case看哪个栏返回结果,药栏还是喷雾栏。此外,您可以对 select * 查询进行计数并比较列结果。我打算摆弄一下sql代码,看看能不能拿出一个动手的例子。 让我看看,我会回来的。 感谢您的时间朋友。我会试试这个。以上是关于根据从 MySQL 检索到的数据填充 HTML 表头的主要内容,如果未能解决你的问题,请参考以下文章
如何使用从我的 SQLite 数据库中检索到的数据填充 tkinter 下拉框?
MySQL:如何根据从另一个表中选择的值填充现有表的新列[关闭]