循环回显数据库条目

时间:2014-08-11 09:46:22

标签: php mysql

$username = $_SESSION['username'];
$query = mysql_query("SELECT * FROM `databse` WHERE `user`='$username'");
$rows = mysql_num_rows($query);
if ($rows != 0)
{
    while($row = mysql_fetch_assoc($query))
    {
    $id = $row ['id'];
    $dbinfo1 = $row ['dbinfo1'];
    $dbinfo2 = $row ['dbinfo2'];
    $dbinfo3 = $row ['dbinfo3'];
    $dbinfo4 = $row ['dbinfo4'];
    $numberofenteries = 0;

        if ($dbinfo1 && $dbinfo2 && $dbinfo3)
        {
            $numberofenteries++;

        }
        echo "<div>$dbinfo1</div><div>$dbinfo2 $dbinfo3 $numberofenteries</div>";

    }
} 
else
{
    echo "<div>There are no database enteries.</div>";
}

我一直在处理这段代码,告诉我循环中的数据库条目,所以它为我创建了所有条目的列表。我遇到的问题是,如果代码已存在,我希望代码不再生成另一个条目,而是将{1}}变量添加1。

示例:

而不是

苹果橙子香蕉1
苹果橘子香蕉1
苹果橘子桃1 苹果橙子菠萝1
苹果橙子菠萝1
苹果橘子菠萝1

我需要

苹果橙子香蕉2
苹果橘子桃1 苹果橘子菠萝3

非常感谢任何帮助。

所以看了一些反馈后。我添加了numberofenteriescount,它显示了数据库条目,但仍然显示了双条目,现在它没有显示数字。
这是当前的代码。

group by

另一个更新

我让它停止在数据库中显示相同信息的重复项,但它仍然不计算它们并显示数字。

1 个答案:

答案 0 :(得分:-1)

按如下方式计算行数:

"SELECT *, count(1) as numberofenteries 
 FROM `databse` 
 WHERE `user`='$username'
 Group By dbinfo1,dbinfo2,dbinfo3,dbinfo4" /* to club the result*/

此处count(1)会在找到行时继续递增

然后,要检索此值,只需执行:

$numberofenteries = $row ['numberofenteries'];