开发者

mysql_fetch_assoc returns duplicated rows...

开发者 https://www.devze.com 2023-02-15 02:00 出处:网络
My fetch_assoc returns duplicated rows. It seems that it multiplies itself. I have 4 inputs in my table and it returns 16.

My fetch_assoc returns duplicated rows. It seems that it multiplies itself. I have 4 inputs in my table and it returns 16.

Here is my code.... Please help me. I think I开发者_如何学C got the looping wrong.

<?php
$tryshow =" SELECT c.customer_date, c.lastname, c.firstname,
   s.room_number, s.date_in, s.date_out
FROM customers c
    INNER JOIN services s
        ON c.customer_date = s.date_in
WHERE c.customer_date = '$customer_date' ";

$result = @mysql_query($tryshow,$conn)
            or die(mysql_error());    

if (mysql_num_rows($result) == 0) {
    echo "No rows found, nothing to print...";
}
?>
<form> 
<table width="700" border="0">
    <tr>
      <td width="100">Customer Date:</td>
      <td width="100">Last Name</td>
      <td width="100">First Name</td>
      <td width="100">Room Number</td>
      <td width="100">Date In</td>
      <td width="100">Date Out</td>
    </tr>
<?php while($row=mysql_fetch_assoc($result)){ ?>
    <tr>
      <td><?php echo $row['customer_date']; ?></td>
      <td><?php echo $row['lastname']; ?></td>
      <td><?php echo $row['firstname']; ?></td>
      <td><?php echo $row['room_number']; ?></td>
      <td><?php echo $row['date_in']; ?></td>
      <td><?php echo $row['date_out']; ?></td>
    </tr>
<?php  }?>
</table>

Thanks in advance.

-renz


You have two choices, if the query runs the same in phpMyAdmin. First, you can clean your data. If this is possible, its the best direction to go. Better data makes better applications possible. If you can't do much for the data integrity then you need to account for it. The simplest way would be to add a distinct to your query....

SELECT distinct c.customer_date, c.lastname, c.firstname,
   s.room_number, s.date_in, s.date_out
FROM customers c
    INNER JOIN services s
        ON c.customer_date = s.date_in
WHERE c.customer_date = '$customer_date'


your on clause

ON c.customer_date = s.date_in

should be on a unique key

ON c.room_number = s.room_number
0

精彩评论

暂无评论...
验证码 换一张
取 消