Ja leider schon gelesen, ich glaube da liegen auch die Hauptpunkte meines Verständnisproblmes.
Code: Alles auswählen
$sql = "SELECT
CAT.idcat AS idcat,
name
FROM
".$cfg["tab"]["cat"]." AS CAT,
".$cfg["tab"]["cat_lang"]." AS CATLANG
WHERE
CAT.idcat = ".$val."
AND CAT.idcat = CATLANG.idcat
AND CATLANG.idlang = '$lang'
AND CATLANG.visible = '1'";
$db->query($sql);
A.idcat AS idcat hat den hintergrund das das feld nicht den bezeichner A.idcat hat sondern nur mittels idcat angesprochen werden kann...
nun gut warum hat name das nicht ?
weil name innerhalb der beiden tabellen nur einmal vorkommt ! und somit ist es eindeutig...
idcat kommt sowohl in der ersten tabelle A als auch in der zweiten tabelle B vor
selektiert werden soll der wert von der ersten tabelle... (
Ok ich weiss das wir hier die Felder bestimmen die ausgelesen werden sollen, aber was das genau mit dem A.idact AS idact soll ist mir nicht klar.
Wenn ich jetzt zum Besipiel in meiner Hauptnavigation einen Punkt news habe, möchte ich einerseits den Titel dieser kategorie(also News) sowie den text des zuletzt eingestellten Artikels und seine id.
FROM
".$cfg["tab"]["cat"]." AS A,
".$cfg["tab"]["cat_lang"]." AS B
Ok mir ist klar das hier die tabllen ausgewählt werden aber was effektiv hier steht ist für mich unklar bzw. was ich schreiben müsste.
WHERE
A.idcat = ".$val."
AND A.idcat = B.idcat
AND B.idlang = '$lang'
AND B.visible = '1'";
Ok hier sieht es schon wieder besser aus. Übergabe des Wertes von $val als idcat.
AND A.idcat = B.idcat
ok die prinzipielle syntax davon ist klar wieso das hier steht leider nicht.
Ok der rest halt welche sprache und ob online oder nicht.
Ich hoffe mein Problem ist etwas klarer geworden.
Habe mir auch die einzelnen Tabellen schon angeshen und versucht zu vertsehen, was ich da falsch mache, leider ohne erfolg sonst wäre ich nicht hier. Hoffe jemand kann mir weiterhelfen....