2010-05-16 79 views
0

http://pastie.org/962429如何按類別顯示類別縮略圖

我有上面的SQL。

有三個類別,網頁設計,標誌和打印。

我想將它們顯示爲以下html。

http://pastie.org/962432

按類別基本上拉動縮略圖圖像和名稱數據庫從類別。

我不太確定該怎麼做。

我會感謝任何輸入或幫助。

在此先感謝。

+0

你應該真的把代碼放在你的問題上,而不是在pastebin上...... – nico 2010-05-16 11:08:15

+0

哦,親愛的,一旦我把所有的代碼和有人告訴我,我應該把它們放在餡餅中,這樣它很容易閱讀...... – shin 2010-05-16 17:28:21

回答

0

嗯,首先查詢數據庫爲您的類別(我假設你有一個categories表與它的名字:

$res = mysql_query("SELECT c.name AS cname, p.name AS pname, p.image 
        FROM omc_products p 
        LEFT JOIN categories c ON p.category_id = c.id 
        ORDER BY c.name"); 
if ($res) 
    { 
    echo '<ul>'; 
    while ($row = mysql_fetch_array($res)) 
      { 
      // Echo your HTML here e.g. 
      echo '<li><img src="'.$row['image'].'" />".$row['pname'].' - '.$row['cname']</li>'; 
      } 

    echo '</ul>'; 
    } 
0

如果你想組的結果按類別嘗試拉動所有的結果和然後建立類別的數組,然後使用該數組來遍歷每個類別。

這是相當密集的PHP方法,有可能使用MySQL更好的方式來做到這一點。

//do your query 
    $query = mysql_query("SELECT id, name, category_id FROM omc_product"); 

    //INIT CATEGORIES AND IMAGES ARRAY 
    $cateogriesPresent = array(); 
    $images = array(); 

    //LOOP TRHOUGH RESULTS 
    while ($row=mysql_fetch_assoc($query)) { 

     //BUILD ARRAY OF IMAGES 
     $images[] = array('name' => $row['name'], 'category' => $row['id'], 'category' => $row['category_id']); 

      //ADD EACH UNIQUE CATEGORY TO CATEGORY ARRAY 
      if(!in_array($row['category_id'], $cateogriesPresent)){ 
       array_push($cateogriesPresent, $row['category_id']); 
      } 

     } 



    //IMAGES BY CAT 
    foreach ($cateogriesPresent as $cat){ 

     //ECHO HTML FOR EACH CAT HERE 
     echo ""; 
     foreach ($images as $image){ 
      if($image['category_id'] == $cat){ 
       //ECHO YOUR HTML HERE FOR EACH IMAGE 
       echo "" 

      }  
     echo ""; 
     } 
    } 
+0

你寫道,'category'=> $ row ['id'],'category'=> $ row ['category_id'],是嗎?兩個'類別'? – shin 2010-05-16 16:32:32