array_push, Array anhängen

sipoh

Erfahrenes Mitglied
Hallo,

ich habe folgendes Problem:

Ich habe eine Datenbank mit 2 Tabellen angelegt.

kategorie | id, beschreibung
artikel | id, cid, art

"cid" ist die ID der "kategorie".

Nun lese ich die Kategorien aus und lege die Daten dann in ein Array.


Code:
.. while ..
$cat[$sql01r['id']] = array(
  "cid" => $sql01r['id'],
  "cdescr" => $sql01r['beschreibung']
);


Das Gleiche mache ich mit den Artikeln.

Code:
.. while ..
$art[] = array(
  "aid" => $sql02r['id'],
  "acid" => $sql02r['cid'],
  "adescr" => $sql02r['beschreibung']
);

Nun möchte ich das Artikel-Array dem zugehörigen Kategorien-Array anhängen.

Code:
foreach($art AS $key => $value) {
		if($cat[$value['cid']]['cid'] == $value['cid']) {
			$cat[$value['cid']] = array_push($cat[$value['cid']], $value[$key]);
		}
	}


Das funktioniert aber nicht und komme deshalb nicht weiter. Kann mir jemand auf die Sprünge helfen?
 
Mag sein und vielen Dank für die Antworten, aber für den Fortlauf der Sache ist ein Array aber sinnvoller (bei mir).

Code:
$sql1q = mysql_query("SELECT * FROM kategorie");
while($sql1r = mysql_fetch_assoc($sql1q)) {
	$art[$sql1r['id']] = array(
		"cid" => $sql1r['id'],
		"ctitle_de" => $sql1r['title_de'],
	);
}


$sql2q = mysql_query("SELECT * FROM artikel");
while($sql2r = mysql_fetch_assoc($sql2q)) {
	$arr[] = array(
		"acid" => $sql2r['cid'],
		"art_de" => $sql2r['title_de'],
	);
}




echo '<pre>';
print_r($art);
echo '</pre>';

Also: Alle "arrs", deren "acid" den gleichen Wert hat, wie der key bei "art", sollen an "art" angehängt werden. Geht das überhaupt?
 
Hi,

Mag sein und vielen Dank für die Antworten, aber für den Fortlauf der Sache ist ein Array aber sinnvoller (bei mir).

Kannst Du das mal näher beschreiben?

Also: Alle "arrs", deren "acid" den gleichen Wert hat, wie der key bei "art", sollen an "art" angehängt werden.

Wenn Du einen JOIN machst, hast Du doch automatisch die passenden Daten im Array zusammen. Irgendwie verstehe ich Dich nicht.

LG
 
Zurück