En kolay yol, muhtemelen kategoriler listesini almak, yinelemek ve bağlı ürünleri çekmektir. (Yani birkaç sorgular.) Örneğin
(yalancı kod):
$result = fetch_assoc("SELECT category_id FROM categories");
foreach($result as $row)
{
echo $row['category_id'];
$result2 = fetch_assoc("SELECT product_id FROM products");
foreach($result2 as $row2)
{
echo $row2['product_id'];
}
}
Eğer böyle bir şey yapabileceği tek sorguda her şeyi isterseniz:
$result = fetch_assoc("SELECT product_id, category_id FROM products p JOIN categories c ON p.category_id = c.category_id ORDER BY c.category_id ASC");
$last = null;
foreach($result as $row)
{
# Output the category whenever it changes
if($row['category_id'] != last)
{
echo $row['category_id'];
$last = $row['category_id'];
}
echo $row['item_id'];
}
Sonra yineleme yapabilirsiniz sonuç kümesi üzerinde ve değiştiğinde kategori adını çıkar.
Veritabanından almadan önce SQL'i yazmak için daha karmaşık ve zarif bir yöntem olabilir, ancak bu kadar akıllı değilim. ;)
Not: Örnekler, sözde kodu kullanır. süper tembel ve müthiş
$db->query("SELECT stuff");
$db->multi_result(); // returns 2d-associative array
elimden sonra foreach($db->multi_result() as $row)
: Ben gibi çalışır mysql soyutlama sınıfını kullanın.
İsterseniz, soyutlama katmanının kodunu gönderebilirim.
Kullanmakta olduğunuz sorguyu kullanarak, birilerinin verileri dışarı çekebilmesi için PHP'yi sağlayabilirsiniz. –
Sorgunuz yok, sorum sorulacak sorgu. Gönderi, veritabanı kurulumumu (içerdiği veriler) ve nasıl görüntülenmesini istediğimi, başka neler eklemem gerektiğini içerir? – sam