根据从 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 标头和数据。更具体地说,我只想显示医生开出的数据。

如果医生开了药,则只应填充药头。如果医生只开了喷雾剂,则只应填充喷雾头,依此类推..

【问题讨论】:

标题是什么意思? 通过标题我的意思是表格标题.. 标签.. 像 Sl。不,患者姓名、药物、绷带、喷雾等。 【参考方案1】:

我不知道标题是什么意思,但是为了根据 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 表头的主要内容,如果未能解决你的问题,请参考以下文章

从 AJAX 响应填充 HTML 表

如何使用从我的 SQLite 数据库中检索到的数据填充 tkinter 下拉框?

MySQL:如何根据从另一个表中选择的值填充现有表的新列[关闭]

无法从 Cloudkit Cloud (JS) 检索所有记录

从 MySQL 数据库填充文本框/下拉列表

从文本字段中提取空数据。表已填充,但无法检索对象。 Java/JavaFX