所以,每当我构建我的查询时,我就会发现第一个"最老的"结果没有显示。这是我的代码 -
$data=mysql_query("SELECT * FROM `Horses` INNER JOIN `Awards` ON Horses.HName=Awards.HName WHERE `HID`=$id");
$row=mysql_fetch_object($data);
echo mysql_error();
while ($row = mysql_fetch_object($data)) {
echo"$row->Award<br>";
}
当列出奖项时,如果他们列出了1个条目,则不会列出任何内容。如果他们有两个,它将列出最新的两个。 同样 -
$data=mysql_query("SELECT * FROM `v_testhorses` WHERE `HID`=$id");
$row=mysql_fetch_object($data);
echo mysql_error();
echo"<tr><td><center>$row->HName ($row->Type)</td></tr>";
echo"<tr><td>$row->YOB $row->Gender owned by $row->OName ($row->Stable)</td></tr>";
echo"<tr><td>$row->Sire x $row->Dam </td></tr>";
echo"</table><Br><Br>";
echo"<table>";
echo"<tr><td>Year</td><td>Win</td><td>Place</td><td>Show</td><td>Tokens</td><td>Earnings</td></tr>";
while ($row = mysql_fetch_object($data)) {
echo"<tr><td>$row->year</td>";
echo"<td>$row->wins</td>";
echo"<td>$row->place</td>";
echo"<td>$row->show</td>";
echo"<td>$row->Tokens</td>";
echo"<td>$" . number_format($row->LTE) . "</td></tr>";
}
仅列出最近几年,忽略了第一个/最早的条目。 有什么建议? (我知道这是旧的PHP,但每当我尝试将其更改为新版本时,它只会崩溃一切 - 而且我还在学习:()
答案 0 :(得分:0)
您正在拨打mysql_fetch_object()
两次。
$data=mysql_query("SELECT * FROM `Horses` INNER JOIN `Awards` ON Horses.HName=Awards.HName WHERE `HID`=$id");
// $row=mysql_fetch_object($data); <--------- REMOVE ME
echo mysql_error();
while ($row = mysql_fetch_object($data)) {
echo"$row->Award<br>";
}