【问题标题】:Looping total not same in database数据库中的循环总数不同
【发布时间】:2015-04-09 19:23:51
【问题描述】:

您好,我有一个脚本循环 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

#广告

学校 5

学校 6

学校 7

学校 8

#ads

帮帮我,谢谢

【问题讨论】:

  • 您正在使用if 语句。如果这是第 4 行(或第 8 行或第 12 行),则打印出广告。如果不是,则打印出学校名称。尝试删除声明中的 else 部分 - 您希望每次都打印出学校名称。

标签: php loops if-statement while-loop


【解决方案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/>";

【讨论】:

  • 感谢 Nathan,它的工作.. 但是,如果数据学校有这样的声明,该怎么办> pastebin.com/J3CWN4DB
【解决方案2】:

您使用的 if/else 结构使得您不会每隔四个条目就回显一次。无论是否$i%4==0,您都希望每次都回显$school-&gt;name_school。你想这样做:

<?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++;
}
?>   

希望对您有所帮助!

【讨论】:

  • echo $school->name_school"
    ";会报错;)
  • 感谢您的收获。 :)
  • @Gajelo 来自 pastebin 的代码应该可以正常工作。你有问题吗?
猜你喜欢
  • 2021-08-05
  • 1970-01-01
  • 1970-01-01
  • 2021-11-26
  • 2020-11-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-14
相关资源
最近更新 更多