2017-04-03 73 views
-1

我編寫了代碼從數據庫中檢索數據並在我的網頁上以表格形式打印。我在數據庫中存儲了4列數據,但檢索時只顯示一列。我的完整數據無法在數據庫的網頁上顯示

My database image

My webpage

我的代碼:

<?php 
$con = mysqli_connect("localhost", "root", "", "project"); 

     if(!$con) 
     { 
      die('not connected'); 
     } 
      $result= mysqli_query($con, "SELECT name, stay, food, travel, 
    SUM(stay + food + travel) AS totalamount,doj 
FROM placedetails "); 



?> 
<div class="container"> 
<table class="table table-hover"> 
<thead> 
    <tr> 
     <th>place</th> 
     <th>stay cost</th> 
     <th>food cost</th> 
     <th>flight cost</th> 
     <th>Date of journey</th> 
     <th>Total cost</th> 
    </tr> 

</thead> 



     <?php 

      while($row =mysqli_fetch_array($result)) 

      { 
       ?> 
      <tbody> 
       <tr> 
       <td><?php echo $row['name']; ?></td> 
       <td><?php echo $row['stay']; ?></td> 
       <td><?php echo $row['food'] ;?></td> 
       <td><?php echo $row['travel'] ;?></td> 
       <td><?php echo $row['doj'] ;?></td> 
       <td><?php echo $row['totalamount'] ;?></td>     
      </tr> 

      </tbody> 
     <?php 
      } 
      ?> 
      </table> 
      </div> 
    </div> 

誰能告訴這裏的錯誤是什麼?

還有一個問題:我只想在我的網頁上只顯示最近上傳的數據。假設我有4個名稱爲mumbai,但在不同的時間上傳,我想在我的網頁上顯示最近添加的孟買名稱

任何人都可以幫我解決這個問題嗎?我會很感激..

+0

移動你的循環之外的''標籤 –

+0

*「我想顯示最近添加的孟買名在我的網頁上「* - ORDER BY the_date –

+0

*」但是在回顧它僅顯示一列時* *''mysqli_fetch_array()'是wr ong功能。 –

回答

1

更新您的代碼移動TBODY從PHP循環

<div class="container"> 
<table class="table table-hover"> 
<thead> 
<tr> 
    <th>place</th> 
    <th>stay cost</th> 
    <th>food cost</th> 
    <th>flight cost</th> 
    <th>Date of journey</th> 
    <th>Total cost</th> 
</tr> 

</thead> 

<tbody> 

    <?php 

     while($row = mysqli_fetch_assoc($result)) 

     { 
      ?> 

      <tr> 
      <td><?php echo $row['name']; ?></td> 
      <td><?php echo $row['stay']; ?></td> 
      <td><?php echo $row['food'] ;?></td> 
      <td><?php echo $row['travel'] ;?></td> 
      <td><?php echo $row['doj'] ;?></td> 
      <td><?php echo $row['totalamount'] ;?></td>     
     </tr> 


    <?php 
     } 
     ?> 
      </tbody> 
     </table> 
     </div> 

+0

的地方寫什麼時間在數據庫中,我的sql查詢應該如何寫爲@Shafiqul伊斯蘭教 – raj

+0

只有最後的數據,然後 選擇名稱,留,食物,旅行, SUM(stay + food + travel)AS totalamount,doj FROM placedetails order by id desc限制1; –

0

1)<tbody>應該是while循環

2)如果你想展示的外只有一個記錄意味着不需要使用while loop

3)如果你想顯示最近的記錄意味着做降序排序date columnid column

查詢:

SELECT name, stay, food, travel, SUM(stay + food + travel) AS totalamount,doj FROM placedetails order by doj desc limit 1; 

表:

<tbody> 

<?php 
$row = mysqli_fetch_assoc($result); //fetch first record set only 

?> 

     <tr> 
     <td><?php echo $row['name']; ?></td> 
     <td><?php echo $row['stay']; ?></td> 
     <td><?php echo $row['food']; ?></td> 
     <td><?php echo $row['travel']; ?></td> 
     <td><?php echo $row['doj']; ?></td> 
     <td><?php echo $row['totalamount'];?></td>     
    </tr> 
</tbody> 
+0

但它顯示了唯一的日期,如前所述:如果我第一次進入第12日,第二次進入第11日...根據我應該顯示第11日,但你設計的SQL查詢給我第12日jan的數據@JYoThI – raj

+0

你只是使用這樣的id列的順序* SELECT name,stay,food,travel,SUM(stay + food + travel)AS totalamount,doj FROM placedetails order by id desc limit 1; * – JYoThI

相關問題