php每隔3个结果插入一次图像

时间:2015-11-25 20:05:26

标签: php mysql for-loop count

我有一个包含7个条目的表格,将来会增加更多。 我需要在每个第3个结果后插入一个图像。 目前它将是2张图片,但稍后它可以更多。

$sqlSelect = "SELECT name,rank,points FROM `users` WHERE rank = 1";
$data = $db->query($sqlSelect);

foreach ($data as $row) {
    $name = $row['name']; 
    $rank = $row['rank']; 
    $pts = $row['points']; 

    echo '<a href="/' . $name . '" title="' . $name . '">;
    echo $name . ' | ' .  $rank . ' | ' .  $pts . '</a>';
}

这会有用吗?

count(*) AS count
$cnt = $row['count']; 

然后将其放入for循环中。但我无法弄清楚我在for循环中写了什么。

for ($x = 3; $x == $cnt; $x++) {
    if ($x == 3) {
        echo "The number is: $x <br/>";
    }
}

如何将+3添加到X而不是X ++?

1 个答案:

答案 0 :(得分:1)

<强>问题

  

我需要在每个第3个结果后插入一个图像。

<强>解决方案

你可以使用一个简单的变量,比如$counter,在每隔三行后显示一个图像,如下所示:

<?php 

    $sqlSelect = "SELECT name,rank,points FROM `users` WHERE rank = 1";
    $data = $db->query($sqlSelect);

    $counter = 1;  // to keep track of number of rows
    foreach ($data as $row) {

        if($counter % 4 == 0){
            // display image here
        }
        ++$counter;

        $name = $row['name']; 
        $rank = $row['rank']; 
        $pts = $row['points']; 

        $path = '<a href="/' . $name . '" title="' . $name . '">';
        $path .= $name . ' | ' .  $rank . ' | ' .  $pts . '</a>';
        echo $path;

    }
?>

执行单独的查询来计算行数是一种过度的做法。