Kategoriye göre kategori ile küçük resimlerini görüntülemek nasıl

2 Cevap php

http://pastie.org/962429

Ben yukarıdaki SQL var.

Üç kategoride, webdesign, logolar ve baskılar vardır.

Ben html aşağıdaki olarak görüntülemek istiyorum.

http://pastie.org/962432

Temelde kategoriye göre veritabanı kategorisinden küçük resim ve adını çekerek.

Ben bunu nasıl gerçekten emin değilim.

Ben herhangi bir giriş veya yardım takdir edecektir.

Şimdiden teşekkürler.

2 Cevap

Peki, ilk kategoriler için DB (Ben bunu adları ile bir categories tablo var sayıyorum sorgulamak:

$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>';
     }

Eğer gruba kategoriye göre sonuçlar istiyorsanız. Tüm sonuçları çekerek ve ardından kategorilerden bir dizi bina deneyin. Sonra kategorilerin her döngü için bu dizi kullanarak.

Bu belki MySQL kullanarak daha iyi bir şekilde yapmak var, oldukça yoğun bir PHP yöntemidir.

//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 "";
        }
    }