Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 表中的行数等于结果的平方_Php_Mysql - Fatal编程技术网

Php 表中的行数等于结果的平方

Php 表中的行数等于结果的平方,php,mysql,Php,Mysql,在PHP中创建表方面,我需要一些帮助。在我的代码中,表的打印次数太多。出于某种原因,代码的输出是无论结果数的计数是^2。因此,如果在实际数据库中有4个结果,那么在输出中有16个结果。在论坛发布之前,我想做更多的研究,但我对php还不熟悉,不知道从哪里开始 //Count the number of rows returned $count = mysql_num_rows($result); echo $count; //Table header echo "<div><tab

在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>&nbsp;3-4 ID:</td>\n";
echo "<td>&nbsp;First Name:</td>\n";
echo "<td>&nbsp;Last Name:</td>\n";
echo "<td>&nbsp;HCA:</td>\n";
echo "<td>&nbsp;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";
    }
//计算返回的行数
$count=mysql\u num\u行($result);
echo$count;
//表头
回音“\n”;
回音“\n”;
回显“3-4 ID:\n”;
echo“名字:\n”;
回显“姓氏:\n”;
回显“HCA:\n”;
回显“文件:\n”;
回声“;
回声“;
如果($count!==0){
while($row=mysql\u fetch\u数组($result)){
回音“\n”;
回音“\n”;
回音“\n”;
回音“\n”;
回音“\n”;
回音“\n”;
回音“\n”;
回音“\n”;
}
回显“
\n”; }否则{ 回显“无数据\n”; }
根据您的最新评论:

SELECT staff.tfid, staff.lname, staff.fname, staff.hca, pic.file ". "FROM staff, pic
您正在使用两个表
staff
pic
。但您没有任何加入标准。您应该有类似于
staff.id=pic.id

这就是为什么要得到两个结果集,即平方结果集的笛卡尔积。对于
员工
表格乘以4对于
pic
表格

您的查询应该是:

SELECT staff.tfid, staff.lname, staff.fname, staff.hca, pic.file ". " 
FROM staff, pic
where staff.id=pic.id

考虑到您将
id
作为这两个表之间的相关属性。

您从
echo$count获得了什么?您如何从数据库获取数据?PHP代码看起来不错,您可能有不正确的SQL。请直接在您的问题中发布(相关)代码块。我会冒险猜测您在SQL查询中执行了某种交叉
JOIN
,这会使结果成倍增加。请给出您正在执行的查询。非常感谢您的帮助。我真的很感激。顺便说一下,我的问题被否决了,我不知道为什么。有人能告诉我原因吗?我想我问了一个合理的问题。@kayle:投反对票有几个原因。首先要注意的是,别担心,继续发帖!投票只是指导,并非有意冒犯。在这种情况下,它可能是:(a)提供了指向代码的外部链接,而不是在此处包含代码,这可能会导致链接腐烂,(b)在代码示例中不提供SQL,这将迫使某人要求它,(c)在此处发布,尽管您觉得应该先做一些研究,(d)不调试问题。总而言之,将否决票视为一种学习经验,当然也要问一下未来否决票的原因(在这里,否决票被认为是解释投票的理想选择)。最终,通过反复试验,你将清楚地知道如何提问,你将开始以社区更喜欢的方式提问。谢谢。我会记住的。