确定while循环中的项目数

时间:2013-12-12 13:04:18

标签: php variables

如何判断while循环中有多少项?

示例

while ($row = mysql_fetch_array($query)){


echo "<strong>name:</strong> ".$row['name']."<br>";
echo "<strong>country:</strong> ".$row['country']."<br>";
echo "<strong>house:</strong> ".$row['house']."<br>";
}

输出

名称:示例名称

国家:德国

众议院:街道示例1

众议院2 :示例街道3

众议院3 :示例街道5

我需要知道这一点,因为我想将房子2/3后面的数字添加为变量。我应该将while循环放在for循环中,以便我可以添加:

$housenumber++;

echo "<strong>house ".$housenumber.":</strong> ".$row['house']."<br>";

2 个答案:

答案 0 :(得分:3)

您可以使用

$total = mysql_num_rows($query);

找出while循环中的行数。

在你的while循环之前和定义$query之后声明这个。

但是,我应该指出mysql_querymysql_num_rows已弃用,您应该使用MySQLi或PDO。有关详细信息,请参阅here

答案 1 :(得分:0)

在循环中包含一个循环将无法实现你所获得的(或者它可能,但它只是不必要的过度杀伤)。递增变量适用于任何类型的循环,因此您只需编写:

$housenumber = 0;
while ($row = mysql_fetch_array($query)){
  echo "<strong>name:</strong> ".$row['name']."<br>";
  echo "<strong>country:</strong> ".$row['country']."<br>";
  echo "<strong>house ".$housenumber.":</strong> ".$row['house']."<br>";
  $housenumber++;
}

正如Tom所说,您正在使用已弃用的函数来检索MySQL数据,因此您的代码将在以后的PHP版本中停止运行。