2017-02-04 30 views
0

請幫忙!!我只是想顯示其talojongon沒有其他重複值的馬蘭 比方說,我的電流輸出爲:消除重複的特定行?

| Barangay | Disease | 
__________________________________ 
| Talojongon | Cancer  | 
| Talojongon | Cancer  | 
| Talojongon | Cancer  | 

,我希望把這個給:

| Barangay | Disease | 
__________________________________ 
| Talojongon | Cancer  | 
|    | Cancer  | 
|    | Cancer  | 

數據庫接收是數據庫中的疾病狀態馬蘭...謝謝...任何建議表示讚賞.. :)

這是我目前我的代碼部分

 <br> 
     <table id="keywords" class="table table-striped table-bordered"> 
      <thead> 
       <tr> 

        <th><center>Barangay</th></center> 
        <th><center>Diseases</th></center> 


       </tr> 
      </thead> 
      <tbody> 
       <?php 
       include 'database.php'; 
       $pdo = Database::connect(); 
       $sql = 'SELECT * FROM patients WHERE receive="Cancer"'; 
       foreach ($pdo->query($sql) as $row){ 
       echo '<tr>'; 
       echo '<td><center>'. $row['status'] . '</center></td>'; 
       echo '<td><center>'. $row['receive'] . '</center></td>'; 

        } 
        Database::disconnect(); 
       ?> 
       </tr> 
      </tbody> 

+0

................ –

+0

'GROUP BY Barangay' *很簡單*。 –

回答

0

這個怎麼樣?

<?php 
    include 'database.php'; 
    $pdo = Database::connect(); 
    $sql = 'SELECT * FROM patients WHERE receive="Cancer" order by status'; 
    $last = ''; 
    foreach ($pdo->query($sql) as $row){ 
     echo '<tr>'; 
     if($last == $row['status']) 
     { 
      echo '<td></td>'; 
     } 
     else 
     { 
      $last = $row['status']; 
      echo '<td><center>'. $row['status'] . '</center></td>'; 
     } 
     echo '<td><center>'. $row['receive'] . '</center></td>'; 
    } 
    Database::disconnect(); 
?> 
+0

施平謝謝它的作品...正是! :) –

+0

@AcayenJesus不客氣。按狀態排序是至關重要的。 – Shiping

0
  <?php 
      include 'database.php'; 
      $pdo = Database::connect(); 
      $sql = 'SELECT * FROM patients WHERE receive="Cancer"'; 
      $counter=0; 
      foreach ($pdo->query($sql) as $row){ 
      $counter++; 
      echo '<tr>'; 
      if($counter==1){ 
      echo '<td><center>Cancer</center></td>'; 
      }else{ 
      echo '<td><center></center></td>'; 
      } 
      echo '<td><center>'. $row['receive'] . '</center></td>'; 

       } 
       Database::disconnect(); 
      ?> 

簡單地echo狀態正好位於第一行中...

+0

尼斯喬納斯非常感謝你..它的作品:) –

+0

@AcayenJesus,你歡迎。也可以看看巴爾默答案。對你的代碼有一些很好的改進... –

+0

好的jonas非常感謝^ _^ –

0

保存的$row['status']在一個變量的最後一個值。如果相同,則在輸出中保留空白。

$last_status = null; 
foreach ($pdo->query($sql) as $row) { 
    echo '<tr>'; 
    $status = $row['status'] == $last_status ? '' : $row['status']; 
    echo '<td style="text-align: center;">' . $status . '</td>'; 
    echo '<td style="text-align: center;">' . $row['receive'] . '</td>'; 
    echo '</tr>'; 
    $last_status = $row['status']; 
} 

此外,你不應該使用過時的<center>標籤,使用CSS。而</tr>應該在循環內部,而不是在最後。

您可能還應該在查詢中使用ORDER BY status,以便具有相同狀態的所有行都在一起。

+0

Thanks Barmar .. 。它的作品:) ..最後去吧! –