0

誰かが私を助けてくれるのではないかと思います。

まず、お詫び申し上げます。以下のコードを印刷するのではなく、これへのリンクを提供したかったのですが、ライブサーバーテーブルから実行するにはこれが必要です.

以下のコードを使用して、現在のユーザーに関連するすべての場所レコードのテーブルを生成しています。

<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>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
         </tr>
         <tr>
            <td>&nbsp;</td>
            <td colspan='6'><div align='center'><strong>There are no records set up</strong></div></td>
            <td>&nbsp;</td>
         </tr>
         <tr>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</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に関しては、私が専門家ではないことを認めたのは私が初めてですが、これに何日も取り組んでスクリプトを何度も書いてきましたが、解決策を見つけることができないようです. .

誰かがこれを見て、どこが間違っているのか教えてください。

4

1 に答える 1

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);  
于 2012-07-03T14:27:52.500 に答える