anpera.net
https://anpera.dyndns.org/phpbb3/

Ruhmeshalle
https://anpera.dyndns.org/phpbb3/viewtopic.php?f=34&t=4694
Seite 1 von 1

Autor:  Liriope [ Sa 11 Okt, 2008 17:40 ]
Betreff des Beitrags:  Ruhmeshalle

Hallohallo,
ich hab nu ein bisschen rumgeforscht und geguckt, aber leider nichts gefunden, vielleicht kann mir ja irgendwer helfen...

Folgendes ist mein Problem, ein User hat sich gewünscht, dass die erschlagenen Monster im Wald mitgezählt werden, soweit nichts aufregendes, hab eine neue Tabelle (enemy) mit drei Feldern erstellt (acctid, heute erschlagen und der Rekord), nun probier ich seit etwa einer Stunde, das ganze in die Ruhmeshalle zu übertragen, da man dort aber auch auf dich accounts-Tabelle zugreift, weiß ich nicht recht, wie ich das anstellen soll. In der common hatte ich noch Teile à la 'accounts.acctid' in Abfragen gefunden, aber weitergeholfen hat mir das nicht wirklich...

LG

Autor:  Auric [ Sa 11 Okt, 2008 18:33 ]
Betreff des Beitrags:  Re: Ruhmeshalle

Du müsstest eben einen JOIN auf die neue Tabelle machen (USING(acctid)) und natürlich nicht vergessen, die Felder ab zu fragen :-)

Ansonsten müsstest du schon etwas konkreter mit deinem Script werden

Grüße,
Auric

Autor:  Liriope [ Sa 11 Okt, 2008 19:49 ]
Betreff des Beitrags:  Re: Ruhmeshalle

PHP:
} elseif ($_GET[op]=="resurrects"){
$sql = "SELECT name,level AS data1 FROM accounts WHERE locked=0 AND superuser<5 ORDER BY resurrections $order, level $order, experience $order, acctid $order LIMIT $limit";
$adverb = "tollpatschigsten";
if ($_GET[subop] == "least") $adverb = "geschicktesten";
$title = "Die $adverb Bewohner in diesem Land";
$headers = array("Level");
display_table($title, $sql, false, false, $headers, false);



in diesem Sinne sollte das Ganze dann nachher werden, ich wusste halt nicht, inwiefern man eben 'name' von den accounts und die andere tabelle verknüpfen kann, hab grad mal in der common geschaut, gibt leider nur einen Eintrag, aber siehe da, es funktioniert! Dankeschön ^^

$sql = "SELECT accounts.name, enemy.enemy as data1
FROM accounts
INNER JOIN enemy
ON enemy.acctid = accounts.acctid
WHERE enemy
AND accounts.locked=0
ORDER BY enemy $order LIMIT $limit";

Autor:  Auric [ So 12 Okt, 2008 11:19 ]
Betreff des Beitrags:  Re: Ruhmeshalle

Schön wenn es so gleich funktioniert!
Um es noch ein bisschen eleganter zu machen kann man es auch etwas umformulieren:
$this->bbcode_second_pass_code('', '$sql = "SELECT a.name, e.enemy as data1 FROM accounts a JOIN enemy e USING(acctid) WHERE a.locked=0 ORDER BY enemy $order LIMIT $limit";')

Das Feld Enemy sollte eben nur nicht NULL (was natürlich nicht 0 entspricht) sein können - "default 0" sollte es tun, wenn nicht schon so angegeben.

Grüße,
Auric

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/