根据从MySQL检索的数据填充HTML表头

时间:2014-01-04 10:40:38

标签: php mysql

我在编写代码时遇到了困难,需要你的帮助。我正在创建一个应用程序,其中患者的数据由医生存储在DB中。我知道如何使用PHP从MySQL DB中检索数据到HTML表。但是,我不知道如何根据检索到的数据动态填充HTML标头和数据。更具体地说,我想只显示医生开的处方数据。

如果医生开了处方药,那么只应填充药头。如果医生只开了喷雾,那么只应该喷洒喷头等等。

2 个答案:

答案 0 :(得分:0)

有一点粗略的时间可视化你的意图,但是从我的头脑中,你需要在构建标题时在循环中添加一组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/,转到“资源”标签,然后点击“辅助工具=&gt;”按钮并更改为MySQL。单击“显示表”按钮并搜索“患者”表,单击它并复制粘贴我的查询以查看结果。

修改 忘记提及您可以在as type之后添加其他列,以替代select *

编辑3(lol):

您还可以查看其他答案的stackoverflow,并通过更改和链接每列(SQL: Selecting columns based on column value from another table)的if语句来构建动态列名称,从中获取一小部分内容。

快速提示,我也学到了很多方法,你可以用mysql做更多的事情,而不是让所有繁重的工作变成PHP,从MySQL获取打印就绪结果集更快,更干净,更安全,而不是用PHP格式化它们在你做了Select *之后,尤其是当你拥有包含大量数据的表时,它会更好地扩展。

希望这有帮助。

答案 1 :(得分:0)

我不知道你的标题是什么意思,但是为了根据值填充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 
 }

 ?>