Zwei Tabellen fehlerfrei verknüpfen

campari

Erfahrenes Mitglied
Moin,

zwei Tabellen sind über das Feld 'kat_id' verknüpft. Wenn in der zweiten Tabelle zu einer kat_id kein Datensatz vorhanden ist, erhält die foreach-Schleife natürlich einen Fehler. Wie kann ich den verhindern.

Danke für Idee
campari


PHP:
$sql = "SELECT kat_id, kat FROM forum_kat";
$sqlb = mysql_query($sql);
$kat = array();
while ($sqlc = mysql_fetch_array($sqlb))
{
	$kat[] = $sqlc;
}
$sqlx = "SELECT id, kat_id, unterkat FROM forum_unterkat";
$sqly = mysql_query($sqlx);
$unterkat = array();
while ($sqlz = mysql_fetch_array($sqly))
{
	$unterkat[$sqlz['kat_id']][] = $sqlz;
}
foreach($kat as $kategorie)
{
	echo $kategorie['kat']."<br>\n";
	foreach($unterkat[$kategorie['kat_id']] as $unterkategorie)
	{
		echo "&gt;&gt;".$unterkategorie['unterkat']."<br>\n";
	}
	echo "<br>\n";
}
 
Warum machst du es nicht in einem Statement, mit einem Join oder einer Where Klausel die beide Tabellen verknüpft?
 
Weil die Einträge aus forum_kat in jedem Fall aufgeführt werden sollen, auch wenn es keinen passenden Datensatz in forum_unterkat dazu gibt.

Meiner Ansicht nach ist das ein PHP-Problem. Denkmal, dass die zweite while-Schleife das Problem ist....aber keine Ahnung was genau
 
Zurück