hi,
ich habe ein etwas kniffeliges problem, bei dem ich nicht weiterkomme:
ich habe einen outer join, mit dem ich zwei tabellen abfrage.
in tabelle a ist eine userliste mit user ids, der aus tabelle b die usernamen zugeordnet werden. verbunden werden die tabllen über die userid, die in beiden tabellen identisch ist:
ausgeben lasse ich mir das ganze mit:
damit bekomme ich also in einer liste die namen der user angezeigt.
so, bis hierhin funktioniert alles einwandfrei, nun mein problem:
aus der usertabelle table b werden hin und wieder user entfernt. in der table a bleiben die ids aber noch gespeichert. das soll auch so sein.
dadurch, dass in table b aber im join die usernamen fehlen, wird die die ausgabe verfälscht.
meine frage:
gibt es eine möglichkeit, eine leerzeile einzubauen, wenn im join für eine userid kein name gefunden wird? jetzt ist es so, dass einfach eine zeile verloren geht, ich hätte aber gerne in meiner auflistung einen marker, dass der user (dessen id in tabelle a zwar noch vorhanden ist) in tabelle b nicht mehr existiert.
ich habe schon versucht folgendes in php in meine ausgabe einzubauen:
damit ging es aber nicht.
ich habe auch schon im manual nachgesehen, komme aber nicht weiter, weil ich nicht weiss, in welcher syntax das problem liegt?
kann ich das in php oder sql lösen?
kann ich das überhaupt irgenwie lösen?
ich hoffe, mein post ist nicht zu lang und ihr versteht mich, vielen dank im voraus...
ich habe ein etwas kniffeliges problem, bei dem ich nicht weiterkomme:
ich habe einen outer join, mit dem ich zwei tabellen abfrage.
in tabelle a ist eine userliste mit user ids, der aus tabelle b die usernamen zugeordnet werden. verbunden werden die tabllen über die userid, die in beiden tabellen identisch ist:
PHP-Code:
$name=mysql_query("SELECT a.".$newcolb.", b.userid, b.username FROM table a, table b WHERE a.".$newcolb." = b.userid");
PHP-Code:
while($zeile = mysql_fetch_row($name)) {
echo "$zeile[2]<br>";
}
so, bis hierhin funktioniert alles einwandfrei, nun mein problem:
aus der usertabelle table b werden hin und wieder user entfernt. in der table a bleiben die ids aber noch gespeichert. das soll auch so sein.
dadurch, dass in table b aber im join die usernamen fehlen, wird die die ausgabe verfälscht.
meine frage:
gibt es eine möglichkeit, eine leerzeile einzubauen, wenn im join für eine userid kein name gefunden wird? jetzt ist es so, dass einfach eine zeile verloren geht, ich hätte aber gerne in meiner auflistung einen marker, dass der user (dessen id in tabelle a zwar noch vorhanden ist) in tabelle b nicht mehr existiert.
ich habe schon versucht folgendes in php in meine ausgabe einzubauen:
PHP-Code:
elseif($zeile[2]=="") {
echo" <br>";
}
ich habe auch schon im manual nachgesehen, komme aber nicht weiter, weil ich nicht weiss, in welcher syntax das problem liegt?
kann ich das in php oder sql lösen?
kann ich das überhaupt irgenwie lösen?
ich hoffe, mein post ist nicht zu lang und ihr versteht mich, vielen dank im voraus...
Kommentar