Ich habe eine einfache Frage, aber ich weiß nicht, welchen Begriff ich verwenden sollte, um die Antwort zu finden (Englisch ist nicht meine Muttersprache).Produkte Kategorien
Ich habe eine klassische Datenbank-Design von Produkten wie und Kategorien.
CREATE TABLE IF NOT EXISTS `a` (
`id_a` int(11) NOT NULL auto_increment,
`type` varchar(255) NOT NULL,
PRIMARY KEY (`id_a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=12 ;
CREATE TABLE IF NOT EXISTS `b` (
`id_b` int(11) NOT NULL,
`id_a` int(11) NOT NULL,
`name` varchar(50) NOT NULL,
PRIMARY KEY (`id_b`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Wo b.id_a ein Fremdschlüssel ist zu a.id_a
Ich möchte eine Hierarchie aller thoses bekommen wie
ein Wert 1
- b_value_1
- b_value_2
ein Wert 2
- b_value_11
- b_value_12
Ein Wert 3
- b_value_21
- b_value_22
- b_value_23
Der Antrag macht die Sache nicht, aber ich erhalte diese Art von anwser:
VALUEOF-TABLE-A | VALUEOF-TABLE-B
A VALUE 1 | b_value_1
A VALUE 1 | b_value_2
und so weiter.
Mein aktueller Code ist so etwas wie:
$categ = '';
while ($row = mysql_fetch_row ($ressource))
{
if ($row['VALUEOF-TABLE-A']!=$categ)
{
$categ = $row['VALUEOF-TABLE-A'];
echo '<h3>', $categ, '</h3>';
}
echo '<h4>', $row['VALUEOF-TABLE-B'], '</h4>';
}
Aber Ich mag nicht viel, die Idee der categ Variable, sei es eine Zeichenfolge oder eine ID. Gibt es eine andere Möglichkeit, die Daten zu erhalten und anzuzeigen?
Idealerweise bin ich wie ein Baumobjekt und habe nur einen Knoten für identische Kinder.
Ich hoffe, Sie verstanden, was ich will.
Sie haben Recht, der Schlüssel ist id_b, aber ich habe die Tabelle Reihenfolge in meinem Beitrag vertauscht und vergessen. Die Anfrage ist eine implizite Join: Es ist eine Art von wählen a.name, b.type aus table_a a, table_b b wobei a.id_a = b.id_a – Aif
Ich fügte ein kleines Skript, ich habe es nicht getestet, aber die Struktur sollte stimmen. –
Ja, danke, dies war die zweite Lösung, von der ich sprach (naja, eigentlich scheint es, dass ich es nicht getan habe), aber mein Ziel war es, diese Art von Dingen durchzuführen, ohne eine Abfrage für jede Kategorie zu machen. – Aif