我想知道是否有人可以帮助我。
首先,我道歉。我本来希望提供一个链接,而不是打印下面的代码,但我需要这个来运行我的实时服务器表。
我正在使用下面的代码生成一个包含与当前用户相关的所有位置记录的表格。
<form name="locationsconsole" id="locationsconsole" method="post" action="locationsaction.php">
<table width="864" cellpadding="0" cellspacing="0">
<thead>
<tr>
<th width="17"></th>
<th width="99"><div align="center">Location Name</div></th>
<th width="287"><div align="left">Location Address</div></th>
<th width="88"><div align="center">No. Of Finds Made </div></th>
<th width="86"></th>
<th width="72"></th>
<th width="84"></th>
</tr>
</thead>
<tbody>
<?php
$query = "SELECT l.locationid, f.locationid, l.locationname, l.userid, l.returnedaddress, count(f.locationid) as totalfinds FROM detectinglocations as l left join finds as f on l.locationid=f.locationid WHERE l.userid='$idnum' ORDER BY l.locationname";
$result = mysql_query($query) or die('error');
if (mysql_num_rows($result) == 0)
echo"<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td colspan='6'><div align='center'><strong>There are no records set up</strong></div></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>";
else
{
while($obj=mysql_fetch_object($result))
{
?>
<tr>
<td><input type="hidden" name="lid" value="<?php echo $obj->locationid;?>"/></td>
<td><div align="center"><?php echo $obj->locationname;?></div></td>
<td><div align="left"><?php echo $obj->returnedaddress;?></div></td>
<td><div align="center"><?php echo $obj->totalfinds;?></div></td>
<td><div align="center"><input name="type" type="submit" value="View Details"/></div></td>
<td><div align="center"><input name="type" type="submit" value="Add Finds"/></div></td>
<td><div align="center"><input name="type" type="submit" value="Add Images"/></div></td>
<td width="129"><div align="left"><input name="type" type="submit" value="View Location Finds"/></div></td>
</tr>
<?php
}
}
?>
</tbody>
</table>
</form>
虽然查询正在检索正确的信息并且行上的按钮工作,但我遇到的问题是,虽然列表中应该显示3条记录,但只显示第一条记录。
我是第一个承认我在PHP方面当然不是专家的人,但是我已经做了好几天并写了很多次脚本,但我似乎无法找到解决方案。
我只是想知道是否有人可以看到这个,让我知道我哪里出错了。
答案 0 :(得分:0)
正如@Bulk和@ShawnVaser所指出的,我的查询存在问题。这是解决方案:
查询
$query = "SELECT l.*, COUNT(f.locationid) as totalfinds FROM detectinglocations l LEFT JOIN finds f ON f.locationid = l.locationid WHERE l.userid = '28' GROUP BY l.locationname";
$result = mysql_query($query);