2017-04-03 94 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

相关问题