数据库中的循环总数不一样

时间:2015-04-09 19:23:52

标签: php loops if-statement while-loop

你好我有一个脚本循环php,然后每个循环4数据/行显示广告

但我有一个问题..因为在数据库中我有数据123行。 但是在php中只显示了92行/数据:'(

这是我的脚本

<?php 
include "connection.php";
$i=0; 
$data_school=mysql_query("select * from school");
while ($school=mysql_fetch_object($data_school)) 
{
    if($i%4==0)
    { 
    echo "<br/><a href='#'><img src='ads.jpg' alt=''></a><br/>";
    }
    else 
    { 
        echo $school->name_school"<br/>";
    }
$i++;
}
?>

当我在浏览器中运行时,广告显示但是学校只显示“ 92行/数据

如果我删除脚本

 if($i%4==0)
        { 
        echo "<br/><a href='#'><img src='ads.jpg' alt=''></a><br/>";
        }

然后脚本就像这样

<?php 
    include "connection.php";
    $i=0; 
    $data_school=mysql_query("select * from school");
    while ($school=mysql_fetch_object($data_school)) 
    {
            echo $school->name_school"<br/>";

    $i++;
    }
    ?>

此数据显示所有 123行/数据

帮助我,我想要这样

学校1

学校2

学校3

学校4

#ads

学校5

学校6

学校7

学校8

#ads

帮助我,谢谢

2 个答案:

答案 0 :(得分:1)

试试这个:

<?php
include "connection.php";
$i=0;
$data_school=mysql_query("select * from school");
while ($school=mysql_fetch_object($data_school))
{
    if($i%4==0)
    {
        echo "<br/><a href='#'><img src='ads.jpg' alt=''></a><br/>";
    }
    echo $school->name_school . "<br/>";
    $i++;
}
?>

您希望每次都回显学校名称

另外,为什么你没有得到错误:

echo $school->name_school"<br/>";

答案 1 :(得分:1)

您正在使用的if / else结构使您不会回应每个第四个条目。无论是否$school->name_school,您都希望每次都回显$i%4==0。你想这样做:

<?php 
include "connection.php";
$i=0; 
$data_school=mysql_query("select * from school");
while ($school=mysql_fetch_object($data_school)) 
{
    if($i%4==0)
    { 
        echo "<br/><a href='#'><img src='ads.jpg' alt=''></a><br/>";
    }

        // This line will now display EACH time, not just when $i%4 != 0
        echo $school->name_school . '<br/>'; 

    $i++;
}
?>   

希望这能帮到你!