从php数组创建html列表

时间:2014-05-26 11:18:56

标签: php html mysql list

我正在尝试从我从SQL查询中获取的php数组创建一个html列表,但无论我得到什么,我都会得到非常奇怪的结果。

$dbf = mysql_query("SELECT * FROM testdb") or die(mysql_error());
$info= mysql_fetch_array($dbf);

  foreach($info as $x) 
  {
  echo '<li>' . $x['name'] . '</li>';
  }

我没有获取数据库中的名称,而是获得以下值

  • 一个
  • 一个
  • d
  • 名词
  • ķ
  • 我可能做错了什么?

    2 个答案:

    答案 0 :(得分:5)

    在您的代码中,您只执行一次mysql_fetch_array($dbf)功能。这只会从结果集中选择第一行。您需要做的是将此函数作为while循环的条件发送。请考虑对您的代码进行以下更改:

    $dbf = mysql_query("SELECT * FROM testdb") or die(mysql_error());
    
      echo '<ul>';
    
      while( $info = mysql_fetch_array( $dbf, MYSQL_ASSOC ) )
      {
          echo '<li>' . $info[ 'name' ] . '</li>';
      }
    
      echo '</ul>';
    

    在上面的代码中,您的while循环遍历您的SELECT查询生成的每个元组。这应该可以解决你的问题。

    答案 1 :(得分:1)

    问题是 mysql_fetch_array()仅从结果集中获取第一行。

    你需要在循环中执行mysql_fetch_array。

    while($info= mysql_fetch_array($dbf))
    {
        echo '<li>' . $info['name'] . '</li>';
    }