目的:循环输出数据库中的字段值。写在同一文件中,能够正常输出:index.php
----
<?php$conn = mysql_connect("localhost","root", "sa");
mysql_select_db("mydb",$conn);
$query = mysql_query("select * from guestbook order by DatePosted desc",$conn);while ($row = mysql_fetch_array($query))
{
echo $row["title"]."<br>";
}
?>问题:
分成两个文件,通过对类方法的调用,这时候页面会死循环,请各位大侠指点!
index.php
----
<?phprequire_once("BoardClass.php");$board = new BoardClass();
while ($row = $board->GetPosts())
{
echo $row["title"]."<br>";
}
?>BoardClass.php
-----
<?php
class BoardClass
{
function GetPosts()
{
$conn = mysql_connect("localhost","root", "sa");
mysql_select_db("mydb",$conn);
$query = mysql_query("select * from guestbook order by DatePosted desc",$conn);
$row = mysql_fetch_array($query);

return $row;
}
}
?>

解决方案 »

  1.   

    while ($row = $board->GetPosts())
    --------------------------
    function GetPosts()
    {
    $conn = mysql_connect("localhost","root", "sa");
    mysql_select_db("mydb",$conn);
    $query = mysql_query("select * from guestbook order by DatePosted desc",$conn);
    $row = mysql_fetch_array($query);return $row;
    }
    你这样调用这个函数,那么就是每次都重新连接数据库,从里面取一条数据,也就是数据库里只要有一条数据,你永远取这条。
      

  2.   


    谢谢jzh2004解答, 如果是这样,怎样改写呢?
      

  3.   

    类函数里面为
    $conn = mysql_connect("localhost","root", "sa");
    mysql_select_db("mydb",$conn);
    $query = mysql_query("select * from guestbook order by DatePosted desc",$conn);
    $r = array();
    while ($row = mysql_fetch_array($query))
    {
    $r[] = $row["title"];
    }调用的话
    $board = new BoardClass();
    $row = $board->GetPosts();
    print_r($row);