SQL查询的重复结果

时间:2016-05-20 19:53:19

标签: php html mysql

PHP新手在这里!我已经苦苦挣扎了几天了,我已经决定不能自己解决这个问题了。

基本上我有2个数据库表“projects_2016”和“attachment”。

我想在顶部表格中显示“projects_2016”的数据,然后在“附件”中检查匹配的ID号(如果它存在),它将列出“project_2016数据”下的所有结果。

目前它运作良好,但它复制了每个“附件”条目的“projects_2016”数据。

这是我的代码,任何输入都表示赞赏!

PS对于Sql注射并不太在意。还在那学习!

<?php include '../../../connection_config.php'; 

$sql = "SELECT DISTINCT * FROM attachment JOIN projects_2016 ON             attachment.attachment_ABE_project_number = projects_2016.id ORDER BY `attachment_ABE_project_number` DESC";

$result = $conn->query($sql);

if ($result->num_rows > 0) {

while($row = $result->fetch_assoc()) {

?>

<table width="20" border="1" cellspacing="0" cellpadding="2">
<tr>
<th height="0" scope="col"><table width="990" border="0" align= "center" cellpadding="3" cellspacing="0">
        <tr class="text_report">
          <td width="107" height="30" align="left" valign="middle" nowrap="nowrap" bgcolor="#F5F5F5"><strong>PNo</strong></td>
          <td width="871" align="left" valign="middle" nowrap="nowrap" bgcolor="#F5F5F5"><strong>Project Name</strong></td>
        </tr>
        <tr>
          <td height="20" align="left" valign="middle" bgcolor="#FFFFFF" class="text_report"><strong><?php echo "<br>". $row["ID"]. "<br>";?></strong></td>
          <td height="20" align="left" valign="middle" bgcolor= "#FFFFFF" class="text_report"><strong><?php echo "<br>". $row["project_name"]. "<br>";?></strong></td>
        </tr>
      </table>
        <?php  

$photo_id = $row["ID"];

$contacts = "SELECT DISTINCT * FROM attachment WHERE attachment_ABE_project_number = '$photo_id'" ;

$result_contacts = $conn->query($contacts);

if ($result_contacts->num_rows > 0) {
 // output data of each row
 while($row_contacts = $result_contacts->fetch_assoc()) {

?>
        <table width="990" border="0" align="center" cellpadding=   "3" cellspacing="0" class="text_report">
          <tr>
            <td height="0" colspan="4" align="left" valign="middle" nowrap="nowrap" bgcolor="#FFFFFF">&nbsp;</td>
          </tr>
          <tr>
            <td width="319" height="30" align="left" valign="middle" nowrap="nowrap" bgcolor="#F5F5F5"><strong>File Name</strong></td>
            <td width="279" align="left" valign="middle" nowrap="nowrap" bgcolor="#F5F5F5"><strong>File Type</strong></td>
            <td width="315" align="left" valign="middle" nowrap="nowrap" bgcolor="#F5F5F5"><strong>File Size (KB)</strong></td>
            <td width="53" align="right" valign="middle" nowrap="nowrap" bgcolor="#F5F5F5"><strong>View File</strong></td>
          </tr>
          <tr>
            <td height="20" align="left" valign="middle" bgcolor="#FFFFFF"><?php echo $row_contacts ['file'] ?></td>
            <td height="20" align="left" valign="middle" bgcolor="#FFFFFF"><?php echo $row_contacts ['type'] ?></td>
            <td height="20" align="left" valign="middle" bgcolor="#FFFFFF"><?php echo $row_contacts ['size'] ?></td>
            <td align="right" valign="middle" bgcolor="#FFFFFF"><a href="/../gauteng/uploads/<?php echo $row_contacts ['file'] ?>" target="_blank">view file</a></td>
          </tr>
          <tr>
            <td height="0" colspan="4" align="left" valign="middle" bgcolor="#FFFFFF">&nbsp;</td>
          </tr>
          <?php
}
?>
        </table>
        <?php        



}
?></th>
    </tr>
  </table>
  <table width="1000" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <th height="26"> </th>
    </tr>
  </table>
  <p>
    <?php        


 }

 }
?>
  </p>
</table> 

<?php   $conn->close();
?>

1 个答案:

答案 0 :(得分:0)

$ sql =&#34; SELECT * FROM projects_2016   WHERE EXISTS(SELECT * FROM attachment WHERE projects_2016.id = attachment_ABE_project_number)ORDER BY id DESC&#34;;