HTML 2x Dropdown dynamisch füllen + Submit + Ergebnis

DjMG

Lieutenant
Registriert
Dez. 2006
Beiträge
630
Hallo liebe User!

Ich bräuchte eure Expertenhilfe zu folgendem Problem:
Es gibt 2 Dropdownfelder die gefüllt werden sollen, 1x "Mapname" und 1x "Levelname". Der User wählt also eine Map, dann das passende Level aus und klickt "Submit" - danach erscheint eine Highscoreliste zur Auswahl eben.

Hier der Auszug von unserem Programmierer
Ich werd in die „highscores.php“-Datei zwei Routinen implementieren:
- writeHgihscores()
- readHighscores()

Wobei zweiteres für dich relevant ist.
Übergabeparameter MAPNR + LEVELNR, jeweils als Integer (über Post auslesen vom DropDown).
Der Funktionsaufruf für dich ist also:
myVar = readHighscores(mapNr, levelNr);

Du musst mir nur sagen, welchen Rückgabeparameter du haben möchtest.
Am besten wär wahrscheinlich ein zweidimensionales Assoziatives Array a lá
ARRAY = (
0: Array(
name: Fritz
scores: 100)
1: Array(
name: Sepp
scores: 50))

Also im ersten Array sind die User gespeichert, die wiederum ein Array sind und aus Name + Punkte bestehen.

Wie kann ich das am Besten realisieren?
Ich würde mich über eure Hilfe wirklich freuen - danke schon im Voraus!

lg DjMG2x Dropdown dynamisch füllen + Submit + Ergebnis
 
kannst mir die kugel geben? :D
 
Hallo!

Danke für die Hilfe soweit.
Die Anforderungen wurden etwas geändert/vereinfacht:

Hi!

Werd den Highscore anders gestalten. Irgendwie is es blöd, wenn man Map und Level auswählt. Jede Level hat eine eindeutige ID ( = Nr), weil in Map2 wird’s nicht wieder eine Level1 geben. Intern zur Berechnung bleibt alles gleich.

Für dich relevant ist nun:
Die Datei, die einzulesen ist, heißt dann „highscore_x.txt“, wobei x die Levelnr ist, ohne vorstehenden Nullen, also
highscore_1.txt
highscore_2.txt
highscore_10.txt
highscore_100.txt

Der Inhalt dieser Dateien bleibt wie gehabt

Derzeit sieht die Auswahl so aus:
Code:
    <div id="chooseMap">
        <img src="images/map_title.jpg" alt="title" />
        <form name="jump" action="index.php?page=highscores_print" method="post">
        <select name="map">
        <option selected value="0"> ----- W&auml;hlen Sie aus: -----
        <option value="1">Map 1</option>
        <option value="2">Map 2</option>
        <option value="3">Map 3</option>
        </select>
                
        <input type="submit" value="Los!">
        </form>

    </div>
Die Auswahl wird also an die Datei highscores_print.php weitergeleitet,
welche die POST-Daten verarbeitet und anzeigt.
Wie mache ich das aber nun?
Code:
<div id="highscores">
    <img src="images/highscores_title.jpg" alt="title" />
    <div id="printHighscores">
        AUSGABE
    </div>

</div>

Die richtige .txt muss also ausgewählt werden. Darin dann das Array (2x?) aufsplitten
und die Inhalte anzeigen? Danke für eure wertvollen Tipps!

lg Uli
Ergänzung ()

Ich denke ich hab's grad selbst gelöst :)

Code:
<?php
   
    function printHighscores()    {
       
        $level = $_POST["level"];
        $fname = "data/highscores/highscore_" . $level . ".txt";
       
        $fileItems = file($fname);
           
        echo "<ul>";
        $counter = 1; 
        foreach ($fileItems as $fileItem) {
                    
            $fileItemInfos = explode("|",str_replace("\r\n",'',$fileItem));
                              if (count($fileItemInfos) == 2)
                              {
                                    echo '<li>';
                                    echo '<span class="name">' . $counter . '. ' . $fileItemInfos[0] . '</span>';
                                    echo '<span class="score">' . $fileItemInfos[1] . '</span>';
                              }
            $counter++; 
        }   
        echo "</ul>";   
    }
   
?>

Funktioniert auch bereits :)
Danke trotzdem für all' die Tipps,
lg Uli
 
Zurück
Oben