循环遍历行数据

时间:2014-06-16 18:08:42

标签: php mysql

我对php很新。我想在一个页面中显示所有用户数据。我正在这样做,但我也在该页面上获得了“未定义的偏移[很多数字]”。我知道我可以做“$ row ['data-name'],但这就是列数千列.Thx!

<?php
mysql_connect("localhost","root","") or die ("Sorry, we couldn't connect!");
mysql_select_db("testsite");
$result=mysql_query("SELECT * FROM users");
while($row=mysql_fetch_array($result)){
$rowlen=sizeof($row);
for($i=1;$i<$rowlen;$i++){
     echo $row[$i]."<br />";
}
}
mysql_close();
?>

编辑: 最后,想出了如何在不知道密钥名称的情况下删除关联数组的第一个元素!我的代码。

<?php
mysql_connect("localhost","root","") or die ("Sorry, we couldn't connect!");
mysql_select_db("testsite");
$result=mysql_query("SELECT * FROM users");
while($row=mysql_fetch_assoc($result)){
    $row_unset=array_keys($row);
    unset($row[$row_unset[0]]);
foreach($row as $key=>$value){
    echo $value."<br />";
}
}
mysql_close();
?>

或者(不是使用array_keys函数,您可以使用foreach获取键值并将它们推入$ row_unset

1 个答案:

答案 0 :(得分:3)

数组键从0开始而不是1,因此它将是for(var $i=0; $i<$rowlen; $i++){

但无论如何,您可以使用foreach

while($row=mysql_fetch_array($result, MYSQL_NUM)){
    foreach($row as $value){
        echo $value.'<br />';
    }
}

默认情况下,已弃用的函数mysql_fetch_array会返回数字和命名列,因此如果您没有定义要使用的结果,则会获得两次结果。