PHP:回声结果编号

时间:2011-08-30 18:01:03

标签: php mysql

我使用mysql_query从我的数据库中获取了许多结果。我需要做的是echo结果编号,以及结果本身。

换句话说,如果我的查询获取3个结果,我希望第一个结果旁边有1,第二个结果是2,依此类推。 我需要数字从1开始,而不是0。

注意:我不是指mysql_num_rows因为它只告诉我有多少结果,而不是结果编号本身。

以下是我的查询信息:

$primary_img_query = "SELECT imgURL, imgTitle FROM primary_images WHERE primaryId=16";
$primary_img_data = mysql_query($primary_img_query) or die('MySql Error' . mysql_error());

while($row = mysql_fetch_assoc($primary_img_data)) { 
    echo "<img src='new_arrivals_img/thumbnails/".$row['imgURL']."'>";//this is where I want the result number echoed
  }

7 个答案:

答案 0 :(得分:4)

制作一个柜台:

$count = 1;

while(...){
   echo $count++;
}

在你的情况下:

$count = 1;

while($row = mysql_fetch_assoc($primary_img_data)) { 
   echo $count++;
   echo "<img src='new_arrivals_img/thumbnails/".$row['imgURL']."'>";
}

答案 1 :(得分:4)

我在这里没有看到的另一个解决方案是使用有序列表:

$result = mysql_query(...);

echo "<ol>\n";
while ($row = mysql_fetch_array($result))
{
    echo "<li><img src='new_arrivals_img/thumbnails/".$row['imgURL']."'></li>";
}
echo "</ol>\n";

如果您不特别关心PHP代码中的结果编号,这会为您提供更“正确”的HTML。 (没有什么可以阻止你同时使用它们:使用有序列表输出数字,但保留其他东西的计数器,如rel属性或交替的CSS类。)

答案 2 :(得分:3)

只是做:

$counter = 1;
while($row = mysql_fetch_assoc($primary_img_data)) { 
    echo "<img src='new_arrivals_img/thumbnails/".$row['imgURL']."'>";//this is where I want the result number echoed
    echo $counter++;
  }

答案 3 :(得分:2)

$i = 1;
while($row = mysql_fetch_assoc($primary_img_data)) { 
    echo "<img src='new_arrivals_img/thumbnails/".$row['imgURL']."'>" . $i;
    $i ++;
}

答案 4 :(得分:2)

$i = 1;
while($row = mysql_fetch_assoc($primary_img_data)) {
      echo "<img src='new_arrivals_img/thumbnails/".$row['imgURL']."'>" . $i;//this is where I want the result number echoed
      $i++;
} 

答案 5 :(得分:2)

有点野蛮,但为什么不留一个柜台?

$primary_img_query = "SELECT imgURL, imgTitle FROM primary_images WHERE primaryId=16";
$primary_img_data = mysql_query($primary_img_query) or die('MySql Error' . mysql_error());
$n=0;

while($row = mysql_fetch_assoc($primary_img_data)) { 
    $n++;
    echo "<img src='new_arrivals_img/thumbnails/".$row['imgURL']."'>" . $n;
}

答案 6 :(得分:1)

内联计数器,获胜。

$i = 0;
while($row = mysql_fetch_assoc($primary_img_data))
{ 
    echo ++$i . "<img src='new_arrivals_img/thumbnails/" . $row['imgURL'] . "'><br>";
}

这与此处的任何其他答案没有实质性的不同,除了它的1行更短,并且实际上利用了可以使用内联增量器的事实。