我需要一些关于PHP中表创建的帮助。在我的代码中,我的表格打印方式太多次了。出于某种原因,代码的输出是结果数量的计数是^ 2。所以,如果我在实际数据库中有4个结果,那么我在输出中有16个结果。我想在论坛上发帖之前做更多的研究,但我是php新手,不知道从哪里开始。
//Count the number of rows returned
$count = mysql_num_rows($result);
echo $count;
//Table header
echo "<div><table id=\"tableheader\" bgcolor=\"#4382b5\">\n";
echo "<tr>\n";
echo "<td> 3-4 ID:</td>\n";
echo "<td> First Name:</td>\n";
echo "<td> Last Name:</td>\n";
echo "<td> HCA:</td>\n";
echo "<td> File:</td>\n";
echo "<tr>";
echo "</table></div>";
if ($count !== 0) {
while($row = mysql_fetch_array($result)) {
echo "<div class=\"addform\"><form method='get' action=\"update.php\">\n";
echo " <input type=\"text\" value=\"".$row['tfid']."\" name=\"column1\">\n";
echo " <input type=\"text\" name=\"column2\" value=\"".$row['fname']."\"/>\n";
echo " <input type=\"text\" name=\"column3\" value=\"".$row['lname']."\"/>\n";
echo " <input type=\"text\" name=\"column4\" value=\"".$row['hca']."\"/>\n";
echo " <input type=\"text\" name=\"column5\" value=\"".$row['file']."\"/>\n";
echo " <input type=\"image\" src=\"images/update.png\" alt=\"Update Row\" class=\"update\" title=\"Update Row\">\n";
echo "<a href=\"delete.php?tfid=".$row['tfid']."\"><img title='Delete Row' alt=\"Delete\" class='del' src='images/delete.png'/></a></form></div>\n";
}
echo "</table><br />\n";
} else {
echo "<b><center>NO DATA</center></b>\n";
}
答案 0 :(得分:0)
根据您的最新评论:
SELECT staff.tfid, staff.lname, staff.fname, staff.hca, pic.file ". "FROM staff, pic
您正在使用2个表staff
和pic
。但是你没有任何加入标准。你应该有staff.id=pic.id
这就是为什么你得到两个结果集的 笛卡儿积 ,即平方结果集。 4 staff
表格乘以4 pic
表格
您的查询应该是:
SELECT staff.tfid, staff.lname, staff.fname, staff.hca, pic.file ". "
FROM staff, pic
where staff.id=pic.id
考虑到这两个表之间有id
作为相关属性。