Bir web sitesinde birden fazla kaynaktan veri tüketen çok Kolu Nasıl

0 Cevap php

Bu daha iyi ben son zamanlarda çatlak yaşadım bazı zor fındık anlamak için bir çaba soruyorum bir "meta" bir soru. Eğer ben burada ulaşan ettiğimi tam olarak alamadım veya okumak için çok fazla metin olsa bile, herhangi bir pratik giriş takdir ve muhtemelen yararlıdır.

Bir veritabanı birden fazla tablo depolanan verileri kullanmak için gereken bir web sitesi var varsayalım. Bu veri, çeşitli yerlerde, vb hesaplamalar için kullanılan yöntemlerden çok sayıda, yoluyla yinelenebilen gerekecektir

Yani her iyi yolu nedir (başka bir db tablodan) 1 veya daha fazla ürün içeren her (bir db tablodan) kategorilerin bir koleksiyonu içeren (bir db tablo) projeleri koleksiyonu görüntülemek için gereken bir sayfada , veri toplamak bunu düzenlemek ve görüntülemek için bunun üzerinden yineleme?

Her proje 1 veya daha fazla kategoriye sahip olabilir ve her kategori çıkan kazık düzenlemek için en iyi yolu nedir bir veya daha fazla öğe (ancak öğeler belirli bir kategorisi için benzersiz olan) sahip olabilir misiniz?

Aşağıdaki örnekte Amacım her proje onunla listelenen ilgili kategoriler ve her bir kategori onunla listelenen ilişkili öğeleri vardır ama ben de proje için gösterilecek öğe tablodan verileri toplamak üzere gereken projeleri bir tablo oluşturmak için isim

A Project Name (43 items and 2 of them have errors!)
- category 1
    - item 1
    - item 2
- category 2
    - item 1

Another Project Name (12 items and no errors)
- category 1
    - item 1
- category 2
    - item 1

Ne yaptım her tablodan veri almak ve bir değişkene sopa oldu. Bana böyle bir şey veriyor:

var $projects = array("id" => 1, "proj_id" => 1, "name" => "aname");
var $categories = array("id" => 1, "cat_id" => 1234, "proj_id" => 1, "cat_name" => "acatname");
var $items = array("id" => 1, "item_id" => 1234, "location" => "katmandu");

Sonra () döngüler I görüntülemek için gereken satırları bina iç içe foreach değişkenler geçti.

Ben ((projelerle kategoriler ilişkilendirerek) 2 düzeyleri derin bir şey oluştururken) döngü iyi çalışacak foreach ile bu gibi zorluklar koştu ancak beklendiği gibi gitti zaman işe yaramadı, üç düzeyde derin (I N C E P T I O N .. hah , direnmek) ve) yerine ilk veya son hangi hatırlamıyorum ... bir öğe için hepsini ekleyerek (her bir kategori için öğeleri ekleyerek denedim olamazdı. Ayrıca, bir şey dizinin üçüncü düzeyde mevcut iken, nasıl veri ve daha sonra inşa edilen dizinin üst düzeyde geri kullanım için dışarı olsun kadar eklersiniz?

Ben hepinizi burada soruyorum iyi, bu ... benim için hepsini yaptım ve bana dışarı düzleştirerek döngü karışıklık tasarruf, tek bir dizi içine her şeyi koymak bir mega SQL sorgusu inşa olabilirdi herhalde, ama.

Nasıl farklı tablolardan çok sayıda veri alma ve daha sonra ekran için tüm birleştirerek ele ve hesaplamalarda kullanırım: Yani, bu sorunun kalbidir herhalde?

0 Cevap