Hi,
ich hätt noch einmal eine frage zum JOIN Befehl -
folgenden Befehl habe ich
Das klappt soweit ganz gut, nur würde ich die sich daraus ergebenden zeilen auch ordnen, was über die column "position", die jede der 3 gejointen tabellen besitzt, funktionieren soll.
D.h. jeder Datensatz hat eine zugewiesene Nummer die sich geordnet durchzieht (nicht den primary-key) im feld "position".
ein normales "ORDER BY position DESC" geht aber nicht, da er ausgibt, die Column "position" wäre "ambiguous", also mehrdeutig.
Daher stellt sich die Frage, ob ich das Problem durch eine kleine Änderung beheben kann, oder die Datenbankstrukur verändern muss.
Die zweite Frage ist wie folgt:
Lese ich nun die sich daraus ergebende Tabelle mit einer While Schleife aus, bekomme ich zwar ein Ergebnis, nur gibt er mir statt der z.B.: 5 Zeilen dann 12 aus (also mehrere doppelt & dreifach).
Ist es überhaupt möglich eine SQL JOIN Abfrage in einer WhileSchleife auszulesen?
Code hierzu wäre
(Er soll also je nach typ - Link, Text, oder Code - eine andere Datei einbinden bis die Zeilen abgearbeitet sind)
ich hätt noch einmal eine frage zum JOIN Befehl -
folgenden Befehl habe ich
PHP-Code:
$sql = " SELECT * FROM sa_page_text INNER JOIN ( sa_page_code, sa_page_links) ON (sa_page_code.pageid = $pid AND sa_page_links.pageid = $pid) WHERE sa_page_text.pageid = $pid ";
D.h. jeder Datensatz hat eine zugewiesene Nummer die sich geordnet durchzieht (nicht den primary-key) im feld "position".
ein normales "ORDER BY position DESC" geht aber nicht, da er ausgibt, die Column "position" wäre "ambiguous", also mehrdeutig.
Daher stellt sich die Frage, ob ich das Problem durch eine kleine Änderung beheben kann, oder die Datenbankstrukur verändern muss.
Die zweite Frage ist wie folgt:
Lese ich nun die sich daraus ergebende Tabelle mit einer While Schleife aus, bekomme ich zwar ein Ergebnis, nur gibt er mir statt der z.B.: 5 Zeilen dann 12 aus (also mehrere doppelt & dreifach).
Ist es überhaupt möglich eine SQL JOIN Abfrage in einer WhileSchleife auszulesen?
Code hierzu wäre
PHP-Code:
$select_query = mysql_query($sql);
while ($select_array = mysql_fetch_array($select_query)) {
$type = $select_array['type'];
if ( $type = "text" ) {
include('templates/block_templates/text.php');
}
if ( $type = "links" ) {
include('templates/block_templates/links.php');
}
if ($type = "code" ) {
include('templates/block_templates/code.php');
}
Kommentar