PHP Mysql echo来自第二行

时间:2014-05-20 12:36:12

标签: php mysql

我有一个简单的MYSQL查询,它回显表中的数据,但不是从第一个开始,而是从第二个开始。 我不明白为什么,香港专业教育学院尝试了其他几个代码但没有任何帮助 这是我的代码:(请不要介意荷兰语);)

<?php
include("connect.php");

$result = mysql_query("SELECT * FROM `Landlijst`");
$row = mysql_fetch_array($result);
$fields_num = mysql_num_fields($result);

if (!$result) {
die("Query to show fields from table failed");
}

echo "<table border='1'><tr>";
for($i=0; $i<$fields_num; $i++)
{
    $field = mysql_fetch_field($result);
    echo "<td>{$field->name}</td>";
}
echo "</tr>\n";

while ($row = mysql_fetch_array($result)) {
    echo "<tr>";
        echo "<td>".$row["ID"]."</td>";
        echo "<td>".$row["Land"]."</td>";
    echo "<td>".$row["Hoofdstad"]."</td>";
    echo "<td>".$row["Werelddeel"]."</td>";
    echo "<td>".$row["Inwoners"]."</td>";
    echo "</tr>";
}
echo "</table>";
mysql_close($con);

?>

我也知道我的表设置可能有问题: (我无法发布图片):( https://s3.amazonaws.com/pushbullet-uploads/ujDZeW7m5QG-1bwPWmKUmMVJiNT38Fv8epGcoQh8jDXr/Naamloos.png

2 个答案:

答案 0 :(得分:5)

在进入循环之前,你不必取出第一行(然后丢弃它):

<?php
include("connect.php");

$result = mysql_query("SELECT * FROM `Landlijst`");
$row = mysql_fetch_array($result);  // <--- here

答案 1 :(得分:0)

尝试使用DO WHILE,并定义$ row变量两次。喜欢这个

$row = mysql_fetch_array($result);

do {
    echo "<tr>";
        echo "<td>".$row["ID"]."</td>";
        echo "<td>".$row["Land"]."</td>";
    echo "<td>".$row["Hoofdstad"]."</td>";
    echo "<td>".$row["Werelddeel"]."</td>";
    echo "<td>".$row["Inwoners"]."</td>";
    echo "</tr>";
}while($row = mysql_fetch_array($result));

你可以使用FOR循环来解决这个问题。

结果不是从第2行开始,第1行的统计数据,但是,在第一次验证时“说”到“确定,我有结果,保持循环。”。当我们使用do-while时,我们会处理第一个结果,然后在您的桌子上打印,然后我们验证另一个结果