2013-01-07 76 views
1

我有一個基本的MVC設置爲我的基本網站。 有它調用(模型)中的數據庫,並在其上運行的查詢的類,它也有用於訪問所述視圖循環查詢返回所有值

<?php 
class Products { 

    public function view($file_name, $data = null) 
    { 
     if(is_array($data)) { 
      extract($data); 
     } 

     include 'application/view/' . $file_name; 
    } 

    public function getProducts() { 
     $stmt = Database::get()->query ('SELECT * FROM retrofootball_products WHERE id>4'); 
     $result = $stmt->fetch(PDO::FETCH_ASSOC); 
     return $result; 

    } 
} 

然後它通過這個給視圖,並顯示此

視圖方法
<?php require 'application/view/template/header.html'; ?> 

<div class="product"> 


<div class="eight columns"> 

</div>  

<div class="eight columns"> 
<?php echo "$productname ";echo "| Price £$price";?> 

</div> 

</div> 

我想在列表中顯示的所有領域,如第一個廣告Manchester City 1999 Playoff Winning Shirt | Price £40不過我的看法只能訪問列名就像$productname

有沒有通過我的查詢方式,以循環來顯示所有的機生產線CT?我試圖返回一個數組,但然後視圖不會讓我聲明這一點。它只讓我通過列名。我已經添加了我的小網站結構的要點:

https://gist.github.com/d7a21ceee5e36b4f6198

回答

1
public function getProducts() { 
    $stmt = Database::get()->query ('SELECT * FROM retrofootball_products WHERE id>4'); 
    return $stmt->fetchAll(PDO::FETCH_ASSOC); 
} 

這會給你一個包含所有結果行的數組。在您的模板中,您可以使用foreach循環遍歷行。

<?php require 'application/view/template/header.html'; ?> 
<?php foreach($products as $product) { ?> 
    <div class="product"> 
    <div class="eight columns"></div>  
    <div class="eight columns"> 
     <?php echo htmlspecialchars($product['name']) .' | Price £' . $product['price']; ?> 
    </div> 
    </div> 
<?php } ?> 
+0

輝煌。你能舉個例子說明每個循環如何工作嗎? – joshuahornby10

+0

或者至少說明如何設定默認值? – joshuahornby10

+0

那裏我們去... – ThiefMaster