循环时在数据库之间添加信息


Add informations between a database while loop

循环结果时,我想在查询的数据库之间显示一些信息:

<?php
    $query = mysqli_query($con, "SELECT * FROM table");
    while($sql = mysqli_fetch_array($query)){
        $id = $sql['id'];
        $country = $sql['country'];
        echo $id.". ".$country."<br>";
    }
?>

如果结果是:

1. MALAYSIA
2. GERMANY
3. EGYPT
4. CAMEROUN
5. ITALY
6. RUSSIA
7. ENGLAND
8. ETHIOPIA
9. AUSTRIA
10. JAPAN

我想在这样的结果之间添加一些东西:

1. MALAYSIA
2. GERMANY
3. EGYPT
this is an advert div(1)
4. CAMEROUN
5. ITALY
this is an advert div(2)
6. RUSSIA
7. ENGLAND
8. ETHIOPIA
9. AUSTRIA
this is an advert div(3)
10. JAPAN

请问有可能吗?

它将在每三行中插入广告。

$count    = 0;
$ad_count = 1;
$query = mysqli_query($con, "SELECT * FROM table");
while($sql = mysqli_fetch_array($query)){
    $id = $sql['id'];
    $country = $sql['country'];
    echo $id.'. '.$country.'<br>';
    $count++;
    if ($count%3==0)
    {
    echo 'this is an advert div('.$ad_count.')<br>';
    $ad_count++;
    }
}

试试这个:

<?php
$count = 1;
$advertCount = 1;
$advertArr = [3, 5, 9];
$query = mysqli_query($con, "SELECT * FROM table");
while($sql = mysqli_fetch_array($query)){
    $id = $sql['id'];
    $country = $sql['country'];
    echo $id.". ".$country."<br>";
    if (in_array($count, $advertArr)) {
        echo "this is an advert div($advertCount++)";
    }
    $count++;
}
?>

虽然我还没有测试上面的解决方案,但我认为这会对你有所帮助。