Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

php datenbank rangliste

Diskussion: php datenbank rangliste im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige hi folgende ausgangssituiation: ich hab eine tabelle darin 2 Spalten eine Spalte der Username stehen in der anderen Spalte ...

Antwort
Alt 17.11.03, 17:10   #1 (permalink)
 
Registriert seit: 12.01.02
chrisi01 Leistung: Facit NTK
chrisi01 eine Nachricht über ICQ schicken chrisi01 eine Nachricht über AIM schicken
Likes: 0
Standard php datenbank rangliste

Anzeige

hi

folgende ausgangssituiation:

ich hab eine tabelle darin 2 Spalten eine Spalte der Username stehen in der anderen Spalte stehen Zahlen

so ich hab nun in der php datei die variable für den user etz möchte ich anzeigen welchen platzt er nach der zahl belegt also die höchste zahl platzt 1 die 2. platzt 2 usw.

wie realisier ich etz das am besten das der platzt angezeigt wird? ich komm da irgendwie nicht drauf wie ich das machen kann ?( ?(

hoffe auf tatkräftige hilfe

mfg

chrisi01

chrisi01 ist offline   Mit Zitat antworten
Alt 17.11.03, 18:22   #2 (permalink)
Member of Honour
 
Benutzerbild von Brabax
 
Registriert seit: 04.10.01
Brabax Leistung: 8086Brabax Leistung: 8086
Brabax eine Nachricht über ICQ schicken
Likes: 42
Standard

Beim abrufen folgenden String verwenden

Code:
SELECT * FROM users ORDER BY zahl
Wenn es die falsch Reihenfolge ist, dann folgenden:

Code:
SELECT * FROM users ORDER BY zahl DESC
__________________

<< Wir leben bereits im morgigen Gestern, doch vom gestrigen Morgen sind wir noch weit entfernt. >>

<< Träume sind Schäume. Es liegt an dir ob du sie lebst oder ein Schaumschläger bist! >>

<< Erst wenn man beginnt zu implizieren, wird man merken, dass einem sowieso keiner richtig zuhört. >>
Brabax ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 17.11.03, 18:25   #3 (permalink)
Themenstarter
 
Registriert seit: 12.01.02
chrisi01 Leistung: Facit NTK
chrisi01 eine Nachricht über ICQ schicken chrisi01 eine Nachricht über AIM schicken
Likes: 0
Standard

danke

soweit war ich auch schon das problem ist, wie bekomm ich dann zum platzt? also welcher platzt er gesammt ist? ich bekomms da ja nur sortiert raus!

mfg

chrisi01
chrisi01 ist offline   Mit Zitat antworten
Alt 17.11.03, 18:50   #4 (permalink)
 
Registriert seit: 10.10.03
derhesse Leistung: Facit NTK
Likes: 3
Standard

Ich verstehe nicht ganz. Sollen die Zahlen addiert werden, wenn die Reihenfolge nicht der Platz ist ? Oder was möchtest du ganz genau ausgegeben haben ?

Der Hesse
derhesse ist offline   Mit Zitat antworten
Alt 17.11.03, 18:54   #5 (permalink)
Themenstarter
 
Registriert seit: 12.01.02
chrisi01 Leistung: Facit NTK
chrisi01 eine Nachricht über ICQ schicken chrisi01 eine Nachricht über AIM schicken
Likes: 0
Standard

also es liegen etz z.b. 3 user drinnen:

user1 200
user2 300
user3 400

wenn nun user 2 angemeldet ist (was schon funktioniert mit session usw.) soll er ausgeben du bist auf platzt 2 wenn user 1 dann halt platzt 3 und wenn user3 dann eben platzt 1

mfg

chrisi01
chrisi01 ist offline   Mit Zitat antworten
Alt 17.11.03, 22:01   #6 (permalink)
 
Registriert seit: 10.10.03
derhesse Leistung: Facit NTK
Likes: 3
Standard

Aha. Also legen wir mal los. Ich sage jetzt mal, in deinem PHP Script ist der angemeldete Username in der Variable $user. In der Tabelle heissen die Spalten USER und PLATZ. Musst du halt mit deinen echten Werten ergänzen. Meine PHP Anweisung würde jetzt so aussehen.

Code:
$sql = "select * from Tabelle order by PLATZ desc"; 
$erg = mysql_query($sql); 
$zaehler = 0; 
while ($row = mysql_fetch_objekt($erg)) 
{ 
zaehler = zaehler + 1;
if ($row->USER = $user)
{ 
echo "Hallo $user, du bist auf Platz $zaehler"; 
}
}
Ich bin mir jetzt nicht sicher, ob du desc in der SQL Anweisung brauchst oder nicht. Gib mal ein Feedback ob es funktioniert. War jetzt aus der Kalten programmiert.

Der Hesse
derhesse ist offline   Mit Zitat antworten
Alt 18.11.03, 17:14   #7 (permalink)
Themenstarter
 
Registriert seit: 12.01.02
chrisi01 Leistung: Facit NTK
chrisi01 eine Nachricht über ICQ schicken chrisi01 eine Nachricht über AIM schicken
Likes: 0
Standard

danke drauas kann ich es evtl. hinbekommen bekomm zar noch foglenden fehler:

Fatal error: Call to undefined function: mysql_fetch_objekt() in /srv/www/htdocs/php/test2.php on line 22

wobei line 22 folgende ist:

while ($row = mysql_fetch_objekt($erg))

werds mir nochmal selber angucken vllt. komm ich selber druff *g* danke dir schonmal über weitere hilfe wär ich trotzdem dankbar

mfg

chrisi01
chrisi01 ist offline   Mit Zitat antworten
Alt 18.11.03, 17:26   #8 (permalink)
 
Registriert seit: 10.10.03
derhesse Leistung: Facit NTK
Likes: 3
Standard

Oh Mann. Das passiert wenn man aus der Kalten programmiert. Natürlich muss es heissen :

mysql_fetch_object($erg);

Englisch und Deutsch sind halt immer noch ein wenig anders.

Der Hesse
derhesse ist offline   Mit Zitat antworten
Alt 18.11.03, 18:04   #9 (permalink)
Themenstarter
 
Registriert seit: 12.01.02
chrisi01 Leistung: Facit NTK
chrisi01 eine Nachricht über ICQ schicken chrisi01 eine Nachricht über AIM schicken
Likes: 0
Standard

lol hät ich selber draufkommen können willste die ausgabe wissen?

Hallo chrisi01, du bist auf Platz 1Hallo chrisi01, du bist auf Platz 2Hallo chrisi01, du bist auf Platz 3Hallo chrisi01, du bist auf Platz 4Hallo chrisi01, du bist auf Platz 5

und nun? so ganz ok is das net *fg*

ok fehler:
if (irgendwas = <-- HIER FEHLT EIN

das problem wenn ich das = hinmach dann gibts gar keine ausgabe mehr


mfg

chrisi01
chrisi01 ist offline   Mit Zitat antworten
Alt 18.11.03, 20:24   #10 (permalink)
 
Registriert seit: 10.10.03
derhesse Leistung: Facit NTK
Likes: 3
Standard

Stimmt. Es muss heissen:

Code:
if ($row->USER == $user)
Aber damit muss eine Ausgabe kommen. Bist du sicher, dass alle Variablen stimmen ? $user ist der User, der grade angemeldet ist und $row->USER ist der User der in der DB steht.

Wenn du möchtest, dann kannst du mir dein Projekt mit SQL-Dump mal schicken, ich schau es mir dann an.
derhesse ist offline   Mit Zitat antworten
Alt 18.11.03, 20:45   #11 (permalink)
Themenstarter
 
Registriert seit: 12.01.02
chrisi01 Leistung: Facit NTK
chrisi01 eine Nachricht über ICQ schicken chrisi01 eine Nachricht über AIM schicken
Likes: 0
Standard

viel zu schicken gibts da net.

http://chrisi01.no-ip.org/php/test.php ist die php datei

in der datenbank sieht es folgendermaßen aus: Bn (user) ranglist (platzt) dazwischen sind noch paar andere spalten aber die dürften nicht stören oder? die tabelle heißt waren.

ich hab jetzt folgendes gemacht:

PHP-Code:
      while ($row mysql_fetch_object($erg))
      {
      
$zaehler $zaehler 1;
      echo 
"$user"; (<-- DAS IST WICHIG!!!!!)
         if (
$row->Bn == $user)
         {
         echo 
"Hallo $user, du bist auf Platz $zaehler"
dann erhalt ich als ausgabe:

chrisi01chrisi01chrisi01chrisi01chrisi01

was heißt der läuft die schleife 5x ab (genausoviele user wie in der db stehen obwohl der user chrisi01 auf platzt 1 sein müsste und demnach die schleife nur einmal ablaufen dürfte oder?)

mfg

chrisi01
chrisi01 ist offline   Mit Zitat antworten
Alt 18.11.03, 21:00   #12 (permalink)
 
Registriert seit: 10.10.03
derhesse Leistung: Facit NTK
Likes: 3
Standard

Die Schleife läuft 5 mal durch, das ist korrekt. So oft, wie Datensätze in der DB sind. Bei jedem Durchlauf prüft die If Anweisung, ob der angemeldete User in der Datenbank ist und auf welchem Platz er steht ($zaehler). Die SQL Anweisung holt die größte Punktzahl zuerst, d.h. du bist auf dem ersten Platz.

Heißt die Spalte BN, bn, oder Bn ? Das ist wichtig. Eigendlich müsste einmal die Ausgabe der If-Bedingung kommen.

Der Hesse
derhesse ist offline   Mit Zitat antworten
Alt 18.11.03, 21:06   #13 (permalink)
Themenstarter
 
Registriert seit: 12.01.02
chrisi01 Leistung: Facit NTK
chrisi01 eine Nachricht über ICQ schicken chrisi01 eine Nachricht über AIM schicken
Likes: 0
Standard

die ausgabe der if bedienung kommt eben nicht die spalte heißt Bn

mfg

chrisi01
chrisi01 ist offline   Mit Zitat antworten
Alt 18.11.03, 21:16   #14 (permalink)
 
Registriert seit: 10.10.03
derhesse Leistung: Facit NTK
Likes: 3
Standard

Versuch mal bitte anstatt

Code:
echo "$user";
ein

Code:
echo "$row->Bn";
um zu sehen ob das hinhaut.
derhesse ist offline   Mit Zitat antworten
Alt 18.11.03, 21:37   #15 (permalink)
Themenstarter
 
Registriert seit: 12.01.02
chrisi01 Leistung: Facit NTK
chrisi01 eine Nachricht über ICQ schicken chrisi01 eine Nachricht über AIM schicken
Likes: 0
Standard

da werden die 5 Benutzernamen aus der db angezeigt aber irgendwie nach nix geordnet is für mich zufall wie die angezeigt werdens eh darin keine ordnung

mfg

chrisi01
chrisi01 ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » php datenbank rangliste
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PDF Datenbank... doeme89 Mac OS & Co. 0 15.12.06 18:53
Sam Datenbank Arca (In)security allgemein 6 03.01.06 21:15
Ql-Datenbank STÖRUNG Andrea21398 Hackerboard.de-Feedback 10 21.08.04 20:13


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61