我有一个简单的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
答案 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时,我们会处理第一个结果,然后在您的桌子上打印,然后我们验证另一个结果