MySql abfrage über PHP (etwas bestimmtes)

Lloyd 2005

Grünschnabel
Servus leute

ich bräuchte mal hilfe in sache mysql abfrage...
und zwar möchte ich gern wissen wie ich:

auf der db die tabelle "attacks" die ID raussucht die am meisten angriffe hat "from_usr" aber bei "from_usr" wird nur die ID übermittelt, darum möchte ich dann das er die ID raussucht nach dem namen "Tabelle: users Feld: name"

ich weiß nur das es so irgendwie geht

"SELECT COUNT( * ) as anzahl FROM `attacks` WHERE `from_usr` = 'id' AND "

keine ahnung ob das stimmt, darum wäre ich froh ob mir jemand helfen könnte

danke im voraus
 
Vorweg: Obwohl wir über solch ein abstraktes Medium wie dem Internet kommunizieren, bitte ich dich dennoch um Einhaltung der deutschen Rechtschreibung, insbesondere die Regelungen der Groß- und Kleinschreibung und Interpunktion.


Könntest du dein Anliegen bitte noch einmal etwas präziser beschreiben.
 
Sorry, wußte nicht das ihr so auf Rechtschreibung achtet, dachte es sei nur der Titel wo so beachtet werden muss.

Also ich möchte eine Mysql (Version: 4.1.11) abfrage in einer PHP Datei machen wo die meiste Anzahl der Angriff aus der DB zieht und zwar aus der Tabelle: attacks Feld: from_usr (ist die ID) und
die ID soll in der Tabelle: users raussuchen, welcher User (Feld: name) diese ID hat und es mit im
Code:
echo'.....'
wiedergeben kann.

Edit:
Wäre wirklich Wichtig, weil ich Betreibe ein Browser-Game und wollte sowas einbauen, wenn das nicht Drinnen ist werden einige Befehle nicht gehen. Danke :)
 
Zuletzt bearbeitet:
Ich versteh's immer noch nicht.

Beschreib dein Anliegen mal ganz systematisch:
  • Ist-Zustand: Welche Grundlagen stehen zur Verfügung?
    Eine detaillierte Angabe der Tabellen wäre hilfreich. Welche Attribute besitzt die Tabelle und was stellen sie dar?
  • Soll-Zustand: Was genau soll erreicht werden?
    Wie ist die maximale Anzahl der Angriffe ermittelbar? Welche Daten sollen ausgewählt/abgefragt werden?
Eine saubere Schrift verbessert vor allem das Textverständnis. Wer Probleme/Fragestellungen präzise, prägnant und mit genügend Informationen angereichert ausführt, kann eher auf eine schnelle und vor allem passende Antwort hoffen.
 
Hallo zusammen
Das würde mich auch mal interesieren wie das geht das man an einer bestimmten stehl im game sehen kann wer gerade am häufigsten angegriffen wird von wem und wie oft
 
Ich muss Gumbo beipflichten, das war am Anfang wirklich nicht sehr verständlich für jemanden der Deine Tabellenstruktur und Dein Anliegen nicht kennt.
Aber ich glaube, jetzt habe ich es verstanden.

Deinem Statement fehlt eine Gruppierung nach from_usr, da MySQL ansonsten mit COUNT(*) alle Ergebniszeilen zählt.
Das Auslesen des Namens geschieht über einen JOIN mit der Tabelle users unter der Bedingung, dass from_usr der id von Users entspricht.
Um die stärksten Angriffe zu erhalten, kannst du nach anzahl absteigend sortieren und das Ergebnis mit LIMIT auf die erste Ergebniszeile beschränken.
Hier ein kurzes Beispiel, welches ich ungetestet noch in den Raum werfen möchte:
Code:
SELECT 
users.name, 
COUNT(*) AS anzahl
FROM attacks
JOIN users ON (users.id=attacks.from_usr)
GROUP BY attacks.from_usr
ORDER BY anzahl DESC
LIMIT 0,1
 
Warum? Ab da ist es doch Einfach

PHP:
 $sql2 = mysql_fetch_array(db_query("SELECT  users.name,  COUNT(*) AS anzahl FROM attacks JOIN users ON (users.id=attacks.from_usr) GROUP BY attacks.from_usr ORDER BY anzahl DESC LIMIT 0,1")); echo'Hallo '.$sql2[0].' wie geht es dir?';
 
Zurück