2011-04-05 30 views
0

我不知道如何詳細解釋,但我會盡我所能。視圖文件的類?

Currenly我有一個PHP文件時,它看起來像這樣:

​​

正如你可以看到有$類別和$項目,如何創建此 類(類名/ {類別,項目})使用視圖。示例如下:

<?php foreach($categories as $category): ?> 
    <table border=0 Cellspacing='0'> 
     <tr> 
      <td> 
       <?php echo $category->name; ?> 
      </td> 
     </tr> 
    <?php foreach ($category->items as $item): ?>  
     <tr> 
      <td> 
       <?php echo $item->name; ?> 
      </td> 
     </tr> 
    <?php endforeach; ?> 
    </table> 
<?php endforeach; ?> 

所以我可以保持SQL查詢遠離視圖文件。

+0

這是你使用的框架嗎? – RobertPitt 2011-04-05 11:42:38

+0

編號........... – user622378 2011-04-05 11:45:10

+0

您是否需要一種方法將您的視圖與您的課程相關聯,或者您是否已經完成了該任務,只需要知道如何將數據從一個傳遞到另一個? – 2011-04-05 11:52:02

回答

1
$SQL_Cat = mysql_query("SELECT * FROM categories WHERE restaurant_id = '$restaurantID'"); 
while ($category = mysql_fetch_object($SQL_Cat)) 
{ 
    $category->items = array(); 
    $q = mysql_query("SELECT * FROM items WHERE category_id = '" . $category->id . "'"); 
    while($item = mysql_fetch_object($q)) 
    {   
     $category->items[] = $item; 
    } 

    $categories[] = $category; 
} 
+1

但是你真的應該檢查你的邏輯 - 循環查詢是一個壞主意。 – Emmerman 2011-04-05 11:51:53

+0

真的嗎?那麼你如何從我的例子中做到這一點? – user622378 2011-04-05 11:59:31

+0

@ user622378將'JOIN'語句用於例如或'WHERE category_id IN'作爲第二查詢。 – Emmerman 2011-04-05 12:01:28

0

使用PDO and fetch它成爲一個對象。 PDO能夠自動構建對象,因此您不必編寫類定義。