<?php
$sql="select * from uscontrol where usid=".$_SESSION["usid"];
$mysql_connector =new MysqlConnector();
$conn=$mysql_connector->connectMysql();
$rs=mysql_query($sql,$conn);
$row=mysql_fetch_array($rs);
while($row=mysql_fetch_array($rs))
{
?>  <a href="<?php echo $row["url"];?>" target="right"><div class="tree_div" id="tree_div_112"><span class="tree_img"><img src="img/elbow.gif" id="touimg_112" width="16" border="0" height="18"><img src="img/leaf.gif" id="img_112" width="16" border="0" height="16"></span><span class="tree_text"><?php echo $row["title"];?></span></div></a><?php
}
mysql_free_result($rs);   //释放记录集
mysql_close($conn);      //释放数据库连接
?>
已经语句,可以运行的,现在发现的问题是:数据库中明明有4条记录,可以只读出后3条记录,第1条没出来,求助,怎么修改一下语句,我是新手,傻瓜问题,别笑话我

解决方案 »

  1.   

    这么写没有错,仔细想一下数据库与sql的问题
      

  2.   


    每一次mysql_fetch_array()取数据,结果集中有一个指针往后移。
    <?php
    $sql="select * from uscontrol where usid=".$_SESSION["usid"];
    $mysql_connector =new MysqlConnector();
    $conn=$mysql_connector->connectMysql();
    $rs=mysql_query($sql,$conn);
    while($row=mysql_fetch_array($rs))
    {
    ?><a href=" <?php echo $row["url"];?>" target="right"> <div class="tree_div" id="tree_div_112"> <span class="tree_img"> <img src="img/elbow.gif" id="touimg_112" width="16" border="0" height="18"> <img src="img/leaf.gif" id="img_112" width="16" border="0" height="16"> </span> <span class="tree_text"> <?php echo $row["title"];?> </span> </div> </a><?php
    }
    mysql_free_result($rs);  //释放记录集
    mysql_close($conn);      //释放数据库连接
    ?> 
      

  3.   

    你的$row=mysql_fetch_array($rs); 语句写了两次,相当与第一次把指针向后移动了一次,然后又移动了一次,所以第一次没取到值,你去掉一个试试
      

  4.   

    把这行删掉就OK了$row=mysql_fetch_array($rs); 
      

  5.   

    $rs=mysql_query($sql,$conn);
    $row=mysql_fetch_array($rs);
    while($row=mysql_fetch_array($rs))把$row=mysql_fetch_array($rs);这行去掉,多用了一次mysql_fetch_array,在循环之前,指针就指向下一个id了.到第二个mysql_fetch_array的时候,本来是1的指针,变成2了.所以第一条没有取出.
      

  6.   

    去掉While前面的那行$row=mysql_fetch_array($rs); 
    如果你要获取数量,可以使用:mysql_num_rows
      

  7.   

    循环的问题,改成do{ }while()就行了。