本帖最后由 sdffffaa 于 2011-06-15 18:55:37 编辑

解决方案 »

  1.   

    1 第一个循环的赋值是动态的 取决于mysql_fetch_array($result)的结果 而这个结果必然含有跳出循环的false
    所以没问题
    2 $cc中没有逻辑否 所以永远无法跳出循环
      

  2.   

    第一个是哪些动态的值啊?
    把第2个写成动态的让我参考下啊。
    数据库内容
    id  FirstName  LastName 
    1   Peter    Griffin 
    2   Lois    fin 
      

  3.   

    补充一下楼上
    1.除非有多个记录的id都是1,否则只有一条记录,只输出一次;如果有多条记录,则说明你的数据库设计可能有问题2.$dd=$cc是赋值语句,不是条件判断语句,$cc不为0,所以总是true的
      

  4.   

    你自己查查mysql_fetch_array 
      

  5.   

    明明是个函数!
    它从结果集中取出一行作为数组!
    如果没有更多行则返回 false!
      

  6.   

    我这边的是个这样的啊
    Array ( [0] => 1 [ID] => 1 [1] => Peter [FirstName] => Peter [2] => Griffin [LastName] => Griffin [3] => 35 [Age] => 35 [4] => Quahog [Hometown] => Quahog [5] => Brewery [Job] => Brewery ) 
      

  7.   

    while循环并没有循环这个数组  这个数组只是结果集的一行而已 
    while循环的是结果集的第一行 第二行  第三行 。  第n行  这还没完  最后还会有一个false!!!
    你自己静静的想想结构吧  在想想while循环的到底什么 
      

  8.   


    <?php
    $con = mysql_connect('localhost', 'peter', 'abc123');
    mysql_select_db("my_db", $con);  
    $sql="SELECT * FROM person WHERE id = '1'";  //这里查询person表里面当id的值等于1
    $result = mysql_query($sql, $con);           //执行sql语句
    while($row = mysql_fetch_array($result))     //循环读取记录集,估计是你上面查询的记录只有一条符合,所以下面只打印一条记录出来。
    //为什么下面的内容只循环1次??
    { echo "<div>" . $row['FirstName'] . "</div>"; }
    mysql_close($con);
    ?>为什么下面的是无限循环。
    <?php
    $cc=array(0=>"ddr",1=>"ddj",3=>"bbq");
    while($dd=$cc)
    {
    $cc[0];
    }
    ?>估计楼主的想法是:<?php
    $cc=array(0=>"ddr",1=>"ddj",3=>"bbq");
    foreach($cc as $key=>$value){
        echo $key.' &nbsp; '.$value."<br>\n";
    }
    ?>
      

  9.   

    while语句只是针对条件是否为真,而进行语句,没有遍历数组内部结构的功能,需要手动补充,和for一样。
    如果要直接逐个遍历数组内部数据要使用 foreach语句