For Schleife in einem PHP script

2Pac

Erfahrenes Mitglied
Hallo LEute!

Ich hab da nen Problem das wie folgt aussieht ich wollte nen Formular machen in dem in ein Dropdownmenü Alle Members aus einer Datenbank ausgelesen werden. Das ist ja noch nicht das Problem. Das Problem ist das soll genau 12 mal hingeschrieben werden.(das Dropdownmenü)
Mein Quelltext dazu sieht wie folgt aus:

PHP:
<script language="php">
                            $host = "daten";
                            $user = "daten";
                            $pass = "daten";
                            $db = mysql_connect($host, $user, $pass);
                            
                            $res = mysql_db_query("daten", " select * from tabelle");
                            $num = mysql_num_rows($res);

                        echo "<form action='cwonlinebringen.php' method='post'>
                            &nbsp;&nbsp;
                            <input name='gegner' size='20'>Gegner<p>&nbsp;&nbsp;";
 //Html Code entfernt
                            for ($i=0; $i<$num; $i++)
                            {
                              $member = mysql_result($res, $i, "nickname");
                              echo "<option>$member</option>"; //hier soll diese Schleife hin
                            }
                            echo "</select>&nbsp;<input name='gegner1' size='10' value='-'>
                             <input type='text' name='e1' size='10' value='-'><p><input type='submit'>
                            <input type='reset'>
                            </form>";
                            mysql_close($db);
                            </script>
Dort wo die For Schleife ist habe ich hin geschrieben hier soll die Schleife hin. Die jetztige Schleife funzt also ich kann aus der Datenbank auslesen nur wie wiederhole ich das ganze 12 mal und schreibe es hin? Das muss ich ja dann nen bischen anders angehen. Damit wir uns net fehlverstehen: Das Formular besteht ja an der Stelle aus 3 Sachen einmal dem Textfeld Gegner einmal dem Textfeld e1 und dann noch das Dropdownmenü. Das soll also 12 mal wiederholt werden und zwar so das die felder gegner und e halt dann auch von 1-12 durchnummeriert werden also gegner1,gegner2,gegner3....gegner12 und das selbe mit e1,e2...e12. Weiss jemand rat? Wäre sehr dankbar :D denn ich verzweifle schon fast dran :(

P.S.: NAtürlich auch das Dropdownmenü muss nummeriert werden spieler1,spieler2.....,spieler12 :-)
 
Zuletzt bearbeitet von einem Moderator:
Meine Fresse, für soviel Quellcode müsste man Dich eigentlich schlagen ... :-)
Zusätzlich keine Syntaxhervorhebung verwendet.... da kommt ein Tritt hinzu ... :mad:

Kürze das ganze mal auf die benötigten Passagen, benutze PHP-Syntaxhervorhebung (wozu hat das Forum den vB Code PHP-Button?)

Ich denke mal, das Du dann eher Antworten bekommst. Eine gute Tat wäre auch mal das Lesen des folgenden Threads (der IMMER oben im PHP-Forum steht, den jeder ignoriert): http://www.tutorials.de/tutorials20021.html

Vielleicht macht sich jemand die Mühe soviel Quelltext und ohne Syntaxhervorhebung durchzuschauen ...

*grrr*
 
Ok ich habe mein Problem gelöst bekommen nur hat sich mir nun ein neues Problem gestellt. Nachdem man nun dieses Formular abgeschickt hat bekomme ich die variablen $spieler1,$spieler2,$spieler3....$spieler12 übermittelt. So nun habe ich dazu ergebnisse aber mein Problem ich will diese ergebnisse also niederlage unentschieden siege und die tore in eine tabelle eintragen. Aber da ich da nicht nen ellenlangen quelltext schreiben will sollte dies schon per for schleife oder so geregelt sein. Kann ich denn folgendes machen:

Ich connecte zu meiner Datenbank mache eine for schleife in der die Variable $k = 1-12 ist. Dann Sage ich er soll aus der Datenbank selecten wo die Spalte nickname=$spieler$k (also ich will damit erreichen das er die variablen $spieler1-$spieler12 wie oben erwähnt ausliest)Dann hole ich mir die spalten "siege","niederlagen","unentschieden","tore","gegentore" aus der Datenbank und weise sie einer Variable zu. Also meinetwegen $s,$u,$n,$t,$gt und nun sage ich wenn $e1$k (hier sind die Tore gemeint ich ahbe im Formular die Ergebnisse jedes einzelnen in variablen geschrieben $e11-$e112 Heimtore $e21-$e212 Auswärtstore) Und nun will ich das ich in der if Funktion sage if ("$e1$k" < "$e2$k")then und dann die Variablen verändern also z.b. sagen $s2 = $s +1; Und dann am Ende wenn ich Sieg Niederlage Unentschieden durch habe mache ich mit mysql_db_query("datenbank", "update damembers set siege = '$s4' where nickname = '$spieler$k'");

Geht das so oder kann mans einfacher lösen? Oder geht es gar nciht so? Wenn nicht wie könnte man es sonst lösen? Und wie sähe das aus. Pls help me :-D und sorry nochmal wegen dem Quelltext oben das der etwas naja war :(
 
Vergiss mal sofort solche Konstrukte wie:

$e1$k, $spieler$k usw.

Du solltest Dein Augenmerk mal auf ARRAYS richten:

PHP:
$e1[$k];
$spieler[$k];

Alles andere ist umständlich und sollte noch nicht einmal gehen.

Du mußt nicht hundete von Variablen verwenden, sondern EINE für

"siege","niederlagen","unentschieden","tore","gegentore","auswärtstore","heimtore" ====== 7 Variablen als Array.

Wenn ich Dein Problem jetzt richtig verstehe ... und daran Zweifel ich ehrlich noch ... *grübel*
 
also sprich alle $e1$k, $spieler$k usw. durch $e1[$k];
$spieler[$k]; ersetzen und dann gehts oder muss ich sonst noch was verändern?
 
Zurück