AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [PHP] Highscore Script meets 2-dimensionalen Array
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP] Highscore Script meets 2-dimensionalen Array

Ein Thema von MisterNiceGuy · begonnen am 23. Mär 2006 · letzter Beitrag vom 24. Mär 2006
Antwort Antwort
Benutzerbild von MisterNiceGuy
MisterNiceGuy

Registriert seit: 1. Jul 2003
Ort: Mannheim
919 Beiträge
 
Delphi 7 Personal
 
#1

[PHP] Highscore Script meets 2-dimensionalen Array

  Alt 23. Mär 2006, 21:12
Hi ich versuche auf meiner Seite einen Highscorescript zu schalten.
Mit
Code:
while($row = mysql_fetch_object($abfrage))
    {
 $Highscore[] = array('Rang' => $row->idRank,'Name' => $row->idName,'Score' => $row->idScore,'Datum' => $row->idDate);
    }
lade ich mir die 10 besten Scores in einen Array.
Und da geht es auch schon los...

Wie sortieren ich diesen 2-dimensionalen Array nach der Score? Gibt es vielleicht eine ähnliche Arraydefinition wie in Delphi?
array:Highscore(Name,Score):string;
Jonas
Wenn mich jemand sucht, ich bin im Kühlschrank!

Informationen über das Duale Studium
www.jofre.de
  Mit Zitat antworten Zitat
Flare

Registriert seit: 26. Jan 2006
Ort: Leipzig
529 Beiträge
 
Delphi 7 Professional
 
#2

Re: [PHP] Highscore Script meets 2-dimensionalen Array

  Alt 23. Mär 2006, 21:40
Vielleicht suchst du ja
Code:
void asort ( array array [, int sort_flags]);
Diese Funktion macht das:
Zitat:
Diese Funktion sortiert ein Array so, dass der Zusammenhang zwischen den Indizes und den entsprechenden Arrayelementen erhalten bleibt. Dies wird hauptsächlich bei assoziativen Arrays verwendet, bei denen die aktuelle Reihenfolge der Elemente bedeutend ist.
Beispiel:
Code:
<?php
$fruits = array ("d"=>"Zitrone", "a"=>"Orange", "b"=>"Banane", "c"=>"Apfel");
asort ($fruits);
reset ($fruits);
while (list ($key, $val) = each ($fruits)) {
    echo "$key = $val\n";
}
?>

Flare
Willy Scheibel
  Mit Zitat antworten Zitat
Benutzerbild von MisterNiceGuy
MisterNiceGuy

Registriert seit: 1. Jul 2003
Ort: Mannheim
919 Beiträge
 
Delphi 7 Personal
 
#3

Re: [PHP] Highscore Script meets 2-dimensionalen Array

  Alt 23. Mär 2006, 22:45
Hm ich glaube das isses nicht, ich suche eine Funktion in der ich einen Array nach einem beliebigen Element sortieren kann.
Jonas
Wenn mich jemand sucht, ich bin im Kühlschrank!

Informationen über das Duale Studium
www.jofre.de
  Mit Zitat antworten Zitat
Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#4

Re: [PHP] Highscore Script meets 2-dimensionalen Array

  Alt 24. Mär 2006, 04:28
Das ist es was du brauchst:
Code:
function cmp($a, $b)
{
   if ($a['score'] == $b['score']) return 0;
   return ($a['score'] > $b['score']) ? -1 : 1;
}
uksort($Highscore,"cmp");
Allerdings sieht es so aus, als bekaemest du das result aus einem mysql-result. Warum nicht gleich im query angeben "ORDER BY idScore"? Das duerfte naemlich das schnellste sein.
Und wenn ich schonmal dabei bin deinen qt zu organisieren:
Statt mysql_fetch_object kannst du auch mysql_assoc nehmen:

$result =mysql_query('SELECT spalte1 AS bla,spalte2 AS blubb FROM tab ORDER BY spalte1');
while($row =mysql_fetch_assoc($result)) $Highscore[] =$row;

Der wert mit dem mysql_fetch_assoc seine arrays indiziert ist naemlich der, den du im sql-query per AS angibst. Wenn du AS nicht angibst nimmt er den Name der Spalte.
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat
Benutzerbild von MisterNiceGuy
MisterNiceGuy

Registriert seit: 1. Jul 2003
Ort: Mannheim
919 Beiträge
 
Delphi 7 Personal
 
#5

Re: [PHP] Highscore Script meets 2-dimensionalen Array

  Alt 24. Mär 2006, 07:22
Klasse danke Ich hatte nicht dran gedacht, dass das auch über mySQL gehen könnte.
Jonas
Wenn mich jemand sucht, ich bin im Kühlschrank!

Informationen über das Duale Studium
www.jofre.de
  Mit Zitat antworten Zitat
Benutzerbild von MisterNiceGuy
MisterNiceGuy

Registriert seit: 1. Jul 2003
Ort: Mannheim
919 Beiträge
 
Delphi 7 Personal
 
#6

Re: [PHP] Highscore Script meets 2-dimensionalen Array

  Alt 24. Mär 2006, 07:53
Okay das geht nun, aber jetzt will ich noch einen neuen Datensatz einfügen und da stellt sich mir die Frage wie ich in einer foreach-Schleife auf das nächste oder voherige Objekt zugreife. Der Quellcode sollte dann so aussehen.

Code:
foreach($Highscore as $Eintrag)  
{
      if (($gesamt)>$Eintrag[Score]) AND ($Gesamt<=$Eintrag[Score]+1))
           {neusortieren();}
}
Jonas
Wenn mich jemand sucht, ich bin im Kühlschrank!

Informationen über das Duale Studium
www.jofre.de
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

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

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz