我检查了现有的主题。我有一个解决我的问题的方法,但我知道它不是正确的解决方法,我更感兴趣的是让这项工作正确,而不是创建一个解决方法。
我有一个项目,其中有 3 张桌子、诊断、访问和治疗。人们来拜访,他们接受治疗,治疗是为了诊断。
为了在页面上显示此信息,我想显示患者的诊断,然后显示他们来访的时间,然后可以单击该访问信息以显示治疗信息。
为此,请在 php 中创建此函数:
<?
function returnTandV($dxid){
include("db.info.php");
$query = sprintf("SELECT treatments.*,visits.* FROM treatments LEFT JOIN visits ON
treatments.tid = visits.tid WHERE treatments.dxid = '%s' ORDER BY visits.dos DESC",
mysql_real_escape_string($dxid));
$result = mysql_query($query) or die("Failed because: ".mysql_error());
$num = mysql_num_rows($result);
for($i = 0; $i <= $num; ++$i) {
$v[$i] = mysql_fetch_array($result MYSQL_ASSOC);
++$i;
}
return $v;
}
?>
该功能有效,并将显示我想要的内容,即治疗和访问的所有行作为 1 个大关联。array 问题是它总是返回比数据库中实际少 1 行,我不知道为什么。总共有 3 行,但 msql_num_rows() 只会将其显示为 2。我的解决方法是只添加 1 ($num = mysql_num_rows($result)+1;)
,但我宁愿让它正确。