ich bastel mir gerade eine Box die unter anderem, den Membernamen und den LastWar anzeigt, welcher zuletzt kommentiert wurde. Mit folgendem script:
echo "Die neusten Lastwars-Kommentare zu<br>"; $abf = "SELECT `a`.`name`, `a`.`uid`, `a`.`cat`, `b`.`id`, `b`.`opp` FROM `prefix_koms` AS `a` LEFT JOIN `prefix_wars` AS `b` ON `a`.`uid` = `b`.`id` WHERE `a`.`cat` = 'WARSLAST' ORDER BY `id` DESC LIMIT 0,5"; $erg = db_query($abf); while ($row = db_fetch_object($erg)) { $link = 'index.php?wars-more-'.$row->id; $text = $row->opp; echo '<b> » </b><a class="smalfont" href="'.$link.'">'.substr($text, 0, 20).'...</a><br>von '.$row->name.'<br>'; }
klappt das schon fast. Mein Problem ist, das ich den Opponent nur als Zahl ausgewiesen bekomme.
Mit hilfe von Google bin ich auf verschieden Möglichkeiten mit 2x LEFT JOIN gestoßen. Meine Versuche schlugen allerdings fehl, da ich nicht so recht dahinter gekommen bin, wie ich das anstellen muss. Sobald ich in irgend einer Art die beiden Tabellen opponents_oid und opponents_name einbringe bekomme ich Fehlermeldungen.
Kann ich das nur über LEFT JOIN lösen oder geht das auch anders?
mfg eM
Edit: Ich benutze das Advance Wars Modul. Das hatte ich vergessen zu erwähnen.
Zuletzt modifiziert von eMNeM am 22.07.2011 - 20:42:49
Update: Manchmal ist es schon komisch, da verbringt man Stunden mit einem Problem und erst wenn man irgendwo Hilfe holen will klappt es doch! So gehts:
echo "Die neusten Lastwars-Kommentare zu<br>"; $abf = "SELECT `a`.`name`, `a`.`uid`, `a`.`cat`, `b`.`id`, `b`.`opp`, `b`.`tag`, `b`.`gegner`, `b`.`oid` FROM `prefix_koms` AS `a` LEFT JOIN `prefix_wars` AS `b` ON `a`.`uid` = `b`.`id` WHERE `a`.`cat` = 'WARSLAST' ORDER BY `id` DESC LIMIT 0,5"; $erg = db_query($abf); while ($row = db_fetch_object($erg)) { $row->tag = ( empty($row->tag) ? $row->gegner : $row->tag ); $row->tag = get_opponent_details('name', $row->oid); $link = 'index.php?wars-more-'.$row->id; $text = $row->tag; echo '<b> » </b><a class="smalfont" href="'.$link.'">Clan vs '.substr($text, 0, 30).'</a><br> von '.$row->name.'<br>'; }
Ich habe die versetzt geschriebenen Teile eingefügt und es funktioniert. Das einzige was ich nicht verstehe ist get_opponent_details, bezieht sich das auf eine Tabelle, wenn ja warum geht das, denn die Tabelle heißt ja opponents. Sollte das damit nichts zu tun haben, wie funktioniert das dann?
Zuletzt modifiziert von eMNeM am 22.07.2011 - 21:07:33