2013-06-27 87 views
0

我有一個顯示產品的一個簡單的腳本。在我的數據庫我同時存儲date_postedend_date在他的產品表中的字段。在我的主頁上顯示最近發佈的20個產品。笨剩餘天數MySQL查詢

我想顯示還剩1天以上的產品。到目前爲止,我能做到這一點,但使用前端腳本和CSS,這是不是最好的做法,因爲如果他們當中有人已經結束了它不會顯示20種產品。

下面是劇本,我有:

我查看=>

<?php $i=0;?> 
     <?php foreach($product as $p): ?> 
     <?php 
    $startDate = date('m/d/Y'); 
    $endDate = $p['endDate']; 
    $seconds_left = (strtotime($endDate) - strtotime($startDate)); 
    $days_left = floor($seconds_left/3600/24); 


    ?> 
     <?php $i+= 1; ?> 

      <td <?php //if($days_left<=0){echo "class='ended'";} ?>> 
      <a href="<?php echo base_url()."user/product/".$p['productID']; ?>" class="product_name"><?php echo $p['productName']; ?> 
      </a> 
      <ul class="nav"> 
     <li><i class="icon-home"> </i> Location : <?php echo substr($p['location'],0,25); ?></li> 
     <li><i class="icon-tags"> </i> Budget : Tshs <?php echo number_format($p['Price']); ?></li> 
     <li><i class="icon-tasks"> </i> <?php if($p['CategoryID']==4){echo"Number of rooms: ";}else echo "Quantity :"?> <?php echo $p['quantity']; ?></li> 
     <li><i class="icon-eye-open"> </i> Bids : <?php echo $p['Bids']; ?></li> 
     <li><i class="icon-time"> </i> Days Left: <?php echo $days_left; ?></li> 
     </ul> 

      </td> 

我的模型=>

function get_product($productID){ 
           $this->db->select()->from('products')->where('productID',$productID); 


       $query = $this->db->get(); 
       return $query->first_row('array'); 
      } 

回答

1

你需要你的where子句中獲得一個約會。 這樣的事情應該做的伎倆:

function get_product($productID){ 
      $this->db->select() 
      ->from('products') 
      ->where('productID',$productID) 
      ->where('end_date >=', date('Y-m-d H:i:s', strtotime('- 1 day'))) 
      ->limit(20); 

      $query = $this->db->get(); 
      return $query->first_row('array'); 
} 
+0

thnk你了@ bottleboot,T workd完美rily欣賞怎麼我被困在部份幾個小時,但我只需要改變「END_DATE <=」到「END_DATE > =」,所以當t顯示天大於0在我的情況,所以我改變了-1到0.thnks再次:-) – bobin56

+0

哥們哎呀,是我不好,沒有完全醒呢!我修改了我的答案。 沒問題,很高興我能幫到你。如果你願意,你也可以接受答案! – bottleboot

+1

好哥們,接受:-) – bobin56