Guten Morgen,
ich bin gerade dabei, eine Rangliste in PHP / MySQL zu programmieren.
Die Rangliste war nicht weiter schwer, jetzt wollte ich aber noch eine Suchfunktion hinzufügen und komme mit der MySQLi-Abfrage nicht weiter, bzw. weiß nicht was ich falsch gemacht habe.
Hier erstmal der Code der Abfrage:
Zur Erklärung:
$aktseite = die Seite der Rangliste, welche ausgegeben werden soll.
$maxanz = maximale Einträge pro Seite.
$charsuche = falls $_POST["char"] wirklich ein Spielername ist, wird dieser in $charsuche gespeichert, also ist das der eingegebene Spielername in dem Suchformular.
$charsuche liefert auch immer das richtige Ergebnis, also den eingegebenen Spielernamen, falls dieser vorhanden.
$getRang["rang"] wäre aus der Abfrage eben der Wert "rang", aber den bekomme ich nicht raus, also wenn ich mir den Wert mit echo $getRang["rang"]; ausgeben lasse, wird auch nichts angezeigt.
Von der Zeichensetzung müsste die Abfrage auch richtig sein, da meine Seite ganz normal ausgeführt wird, auch wenn ich die Abfrage aufrufe...
$getRang["..."], da liefern alle Werte nichts zurück, also bei der echo-Ausgabe. z.B. $getRang["name"] $getRang["level"] usw... Also funktioniert wohl die komplette Abfrage nicht, ich weiß aber leider nicht was falsch ist... hab das ganze auch schon mit error-reporting und firebug untersucht, aber nichts wird ausgegeben...
Also die Abfrage oben habe ich mir aus einer normalen MySQL-Abfrage zusammengebaut und da ich MySQLi verwende, weiß ich jetzt eben nicht, was ich genau zu beachten habe, bzw. was da überhaupt falsch ist...
Wenn mir einer helfen könnte, wäre das sehr nett.
Liebe Grüße.
ich bin gerade dabei, eine Rangliste in PHP / MySQL zu programmieren.
Die Rangliste war nicht weiter schwer, jetzt wollte ich aber noch eine Suchfunktion hinzufügen und komme mit der MySQLi-Abfrage nicht weiter, bzw. weiß nicht was ich falsch gemacht habe.
Hier erstmal der Code der Abfrage:
PHP-Code:
$ranglistesuche = mysqli_query ($db, "SELECT name, ehre, level, gildenname
FROM
(
SELECT name, ehre, level, gildenname, @num := @num +1 AS rang
FROM
(
SELECT name, ehre, level, gildenname, @num :=0
FROM user ORDER BY ehre DESC, level DESC
) AS t1
) AS t2
WHERE name LIKE $charsuche LIMIT 1");
$getRang = mysqli_fetch_assoc($ranglistesuche);
$aktseite = ceil($getRang["rang"] / $maxanz);
$aktseite = die Seite der Rangliste, welche ausgegeben werden soll.
$maxanz = maximale Einträge pro Seite.
$charsuche = falls $_POST["char"] wirklich ein Spielername ist, wird dieser in $charsuche gespeichert, also ist das der eingegebene Spielername in dem Suchformular.
$charsuche liefert auch immer das richtige Ergebnis, also den eingegebenen Spielernamen, falls dieser vorhanden.
$getRang["rang"] wäre aus der Abfrage eben der Wert "rang", aber den bekomme ich nicht raus, also wenn ich mir den Wert mit echo $getRang["rang"]; ausgeben lasse, wird auch nichts angezeigt.
Von der Zeichensetzung müsste die Abfrage auch richtig sein, da meine Seite ganz normal ausgeführt wird, auch wenn ich die Abfrage aufrufe...
$getRang["..."], da liefern alle Werte nichts zurück, also bei der echo-Ausgabe. z.B. $getRang["name"] $getRang["level"] usw... Also funktioniert wohl die komplette Abfrage nicht, ich weiß aber leider nicht was falsch ist... hab das ganze auch schon mit error-reporting und firebug untersucht, aber nichts wird ausgegeben...
Also die Abfrage oben habe ich mir aus einer normalen MySQL-Abfrage zusammengebaut und da ich MySQLi verwende, weiß ich jetzt eben nicht, was ich genau zu beachten habe, bzw. was da überhaupt falsch ist...
Wenn mir einer helfen könnte, wäre das sehr nett.
Liebe Grüße.
Kommentar