Verschachteln von Datenbankabfragen

Ok mein Gehirn will wohl heute nicht aufwachen:D
Kannste mir bitte mal sagen wie ich das machen muss?
Ich kriegs einfach nicht hin:(
 
PHP:
$testo = array("category='$row[cat_id]' AND closed='0' OR ","category='$row[cat_id]' AND closed='0'"); 
foreach ($testo as $test) { 
print($test."\n");}
 
Hallo,
wenn ich das eingebe spuckt er mir das gleiche wie vorher aus
PHP:
category='1828' AND closed='0' OR category='1828' AND closed='0'

Das bringt mich aber leider nicht weiter :(. Er soll ja alle Zahlen ausspucken die sich dahinter verbergen.
Ich bin hier echt am verzweifeln :(
 
So ich bin wieder ein stückchen weiter :)
Jetzt hab ich:
PHP:
$abfrage = "SELECT cat_id FROM categories WHERE parent_id = '$id' ORDER BY 'cat_id' DESC";
$ergebnis = mysql_query($abfrage);
 while($row = mysql_fetch_array($ergebnis))
   {
   foreach($row as $value){
   $key=" OR category='$value' AND closed='0'";
      echo $key;


    $result = mysql_query ( "SELECT * FROM auctions WHERE category='$id' AND closed='0' $key ORDER BY ends ASC LIMIT $left_limit,$lines" );
   }
 }
Das echo gibt folgendes aus:
PHP:
OR category='20' AND closed='0' OR category='20' AND closed='0' OR category='21' AND closed='0' OR category='21' AND closed='0' OR category='22' AND closed='0' OR category='22' AND closed='0' OR category='23' AND closed='0' OR category='23' AND closed='0' OR category='24' AND closed='0' OR category='24' AND closed='0' OR category='1667' AND closed='0' OR category='1667' AND closed='0' OR category='1813' AND closed='0' OR category='1813' AND closed='0' OR category='1670' AND closed='0' OR category='1670' AND closed='0' OR category='1822' AND closed='0' OR category='1822' AND closed='0' OR category='1828' AND closed='0' OR category='1828' AND closed='0'
Nur mit dem Zusatz das ich die Variable $key jetzt wirklich überall benutzen kann;)
Einzigen Problem ist jetzt noch das die Abfrage der Datenbank nicht klappt.Ich krieg leider keine Fehlermeldung auch echo mysql_error(); liefert kein Ergebnis.
 
Also ich hab mir mal die Mühe gemacht das ganze nochmal so gut es geht verständlich aufzuschreiben,ich hoffe dass ihr dann mehr damit anfangen könnt;)

Also,
es geht um die Kategorieansicht.Die Kategorien sind in der Datenbank wie folgt gespeichert:

cat_id parent_id

Dabei ist die cat_id eine einmalige ID die zu jeder Kategorie gehört. Die parent_id gibt an zu welcher Kategorie die jeweilige Kategorie gehört.
Beispiel:

Auto und Motorrad ist die Oberkategorie und hat die cat_id 1
Teile und Zubehör ist eine Unterkategorie von Auto und Motorrad und hat die cat_id 21 und parent_id 1
Automobile ist auch eine Unterkategorie von Auto und Motorrad und hat die cat_id 20 und parent_id 1

Peugeot ist eine Unterkategorie von Automobile und hat die cat_id 530 und die parent_id 20

Das heißt:
Alle Kategorien die eine "Etage" unter Auto und Motorrad liegen haben die parent_id 1
Und wiederrum alle Kategorien die wieder eine weiter und Auto und Motorrad liegen haben als parent_id die Zahl die die Kategorie drüber als cat_id hat
also hat

Peugeot die parent_id 20 und liegt somit unter Automobile
und Automobile hat als cat_id 20 und als parent_id 1 und liegt somit unter Auto und Motorrad.
So hängen die Kategorien zusammen.
Ich hoffe das ist einigermaßen verständlich ;)

So die Abfrage sieht wie folgt aus:
PHP:
$result = mysql_query ( "SELECT * FROM auctions WHERE category='$id' AND closed='0' ORDER BY ends ASC LIMIT $left_limit,$lines" );

Die ID wird vom Broweser abgefragt jeweils in welcher Kategorie man sich befindet. In dem Fall sind wir in Auto und Motorrad und haben die ID=1.
Damit liest der Browser jetzt die einzelnen Kategorien aus, die als parent_id 1 haben und zeigt diese an.
Das heißt es werden die Kategorien Teile und Zubehör und Automobile angezeigt.
Um jetzt auch die Artikel in den Kategorien Teile und Zubehör und Automobile unter Auto und Motorrad anzuzeigen, müsste die $id wieder als parent-id eingesetzt werden um damit alle ID´s zu kriegen die Mit Auto und Motorrad zusammen hängen. Das Ergebnis müsste dann wieder Ebenfalls als parent_id eingesetzt werden und so weiter.

Meine Abfrage sieht bis her so aus:

PHP:
$abfrage = "SELECT cat_id FROM categories WHERE parent_id = '$id'   ORDER BY 'cat_id' DESC";
$ergebnis = mysql_query($abfrage);
 while($row = mysql_fetch_array($ergebnis))
  { 
   foreach($row as $value)
   $key="$value ";

   
 echo $key;
 }

$key gibt mir auch die richtigen cat_id´s aus von den Kategorien die dahinter sind.
Aber wenn ich die $key Variable ausserhalb der Klammer verwenden will, gibt er mir wieder nur eine Zahl an anstatt alle.

Ich hoffe das ist jetzt einigermaßen verständlich ;)
 
Zuletzt bearbeitet:
Zurück