<?php
  include("conn.php"); include("head.php");  $fysql="select * from `water_ele`";
  $fyquery=mysql_query($fysql);
  $fyrow=mysql_fetch_row($fyquery);
  $results=mysql_num_rows($fyquery);  echo $results;
  print_r(mysql_fetch_assoc($fyquery));foreach ($fyrow as $value)//echo $value;
print_r ($value);
for( $i=0 ;$i<=$results-1; $i++)
{echo $fyrow[$i].'<br>';
?>
<table width=500 border="0" cellpadding="5" cellspacing="1" bgcolor="#add3ef">
  <tr bgcolor="#fbf3ff">
  <td>水费</td>
  </tr>
  <tr bgColor="#bbffff">
  <td><? $fyrow[$i]?> </d>
  </tr>
</table><?
}
?>以上是代码,SQL语句查出来的有两条数据,现在我要如果通过表格的方式将其显示在页面上。通过我上面的方法,一直都是只能显示一条。

解决方案 »

  1.   

    这个$results = count($fyrow);试试。
    <? $fyrow[$i]?> 应该写成<?=$fyrow[$i]?>或者<? echo $fyrow[$i];?>。
      

  2.   

    逻辑有问题,$fyrow=mysql_fetch_row($fyquery);这句将得到一条数据以数组形式保存到$fyrow这个变量里。这个是一个固定的变量。而你下面作了循环来读$fyrow[$i],怎么会读到不同记录的数据呢?
    应该把$fyrow=mysql_fetch_row($fyquery)放到循环里来,每循环一次将这个$fyrow数组的不同元素输出就可以了
      

  3.   

    <table width=500 border="0" cellpadding="5" cellspacing="1" bgcolor="#add3ef">
    <?
    while($fyrow=mysql_fetch_row($fyquery))
    {
    ?>
      <tr bgColor="#bbffff">
      <td><? echo $fyrow[0]?> </d>
      <td><? echo $fyrow[1]?> </d>
            
      </tr>
     <?
    }
    ?>
    </table>
      

  4.   

    看来是一位初学者,欢迎来到PHP大家庭~
    先简单介绍一下mysql函数的使用方法:mysql_connect('localhost', 'username', 'password'); // 连接数据库
    mysql_select_db('database'); // 选择当前数据库
    $result = mysql_query('SELECT field FROM table'); // 执行SQL语句
    if ($result && mysql_num_rows($result)) // 判断是否执行成功且记录数大于零
    {
    // 开始遍历结果。
    // mysql_fetch_row()函数会返回一条记录,并将指针移至下一条;
    // 若已无更多记录,则返回FALSE,while即停止。
    while ($row = mysql_fetch_row($result))
    {
    echo $row[0]; // 输出field的值。
    }
    }
    else echo '无记录';相信楼主已经知道自己代码的问题在哪里了。我为你重写了一下,供参考:include("conn.php");include("head.php");$fysql = "select * from `water_ele`";
    $fyquery = mysql_query($fysql);
    if ($fyquery && mysql_num_rows($fyquery) > 0)
    {
    while ($fyrow = mysql_fetch_row($fyquery))
    {
    echo <<<HTML
    <table width=500 border="0" cellpadding="5" cellspacing="1" bgcolor="#add3ef">
    <tr bgcolor="#fbf3ff">
    <td>水费</td>
    </tr>
    <tr bgColor="#bbffff">
    <td>{$fyrow[0]}</td>
    </tr>
    </table>
    HTML;
    }
    }再补充一下,mysql_fetch_row()返回的是一个数组,根据SQL语句里的字段顺序来进行索引。如SQL为SELECT f0, f1, f2 FROM table,则mysql_fetch_row()获得的数组为$row[0] = f0的值;$row[1] = f1的值;$row[2] = f2的值。在SQL语句里列出字段名是个好习惯。