PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [SQL] Anzeigen wie viele Rang "XY" schon erreicht haben? (APRangAddon)



RainbowDash
14.08.2012, 17:55
Heyho,
ich würde gerne hinter den ganzen Infos, wie viele APs man braucht um einen Bonus von XX Blosen etc zu bekommen, stehen haben, wie viele diesen Rang erreicht haben.
In der SQL wird bisher die "id", "benoetigte_ap", "rang" und "bonus" ausgelesen.

Ich.. hoffe ihr versteht was ich meine :rolleyes:

Liebe Grüße,
RainbowDash

Aradiv
15.08.2012, 00:38
SELECT b2.*, COUNT(data.uid) as anzahl FROM vms_bonus as b2
LEFT JOIN (
SELECT
u.uid,
MAX(b.id) as bonusrang
FROM vms_kontodaten u
RIGHT JOIN vms_bonus AS b ON u.ap>=b.benoetigte_ap
GROUP BY u.uid) as data
ON b2.id=data.bonusrang
GROUP BY b2.id
ORDER BY b2.benoetigte_ap ASC;

sollte ziemlich genau das machen was ich denke was du willst

RainbowDash
15.08.2012, 00:50
Danke für die Antwort. Aber wo soll ich das einfügen?

Aradiv
15.08.2012, 10:35
Das ist die MySQL Abfrage die das ergebnis liefert was du haben wolltest wir sind hier im [HD] MySQL.

Die Daten via php abfragen und ausgeben musst du dann noch selbst machen sollte aber kein all zu großes Kunststück mehr sein.

Achso Tabellennamen musst du vllt auch noch anpassen da ich mit vms_bonus einfach mal geraten habe :biggrin1:.

Ich helfen gerne wenn man mal wo nicht weiter weis aber vollständige Anpassungen/Zusatzfeatures werde ich hier nicht machen :-)

Achso zum selber lernen :-)
http://www.schattenbaum.net/php/mstart.php


mfg
Aradiv

RainbowDash
15.08.2012, 12:01
Ich hatte halt eher mit etwas in Richtung


ALTER TABLE `vms_ap_rang` ADD `anzahl` blablabla


oder so gerechnet. Deinen Code kann man glaube ich sogar als db_query ausführen? Allerdings ist er dafür doch viel zu lang.

Ich kann nichts mit dem Code anfangen, den du mir gegeben hast :(

Aradiv
15.08.2012, 15:57
warum sollte der Code für ein db_query zu lang sein?

und ein statisches hinzufügen der spalte wäre schlecht da du dann ja jedes mal wenn einer den Rang X erreicht 2 zeilen updaten müsstest die mit dm alten Rang Anzahl um 1 veringern und die mit dem neuen Anzhl um 1 erhöhen.

Lokutos
15.08.2012, 19:20
zum Thema Query das ist der query den du in php nutzen sollst um die anfrage an deinen mysql server zu starten mit


$blub = db_query();


zum Thema zu langer query:
wenn das Forum hier meldet maximale länge des Beitrags überschritten darfst du mit dem Argument kommen...