Avatar billede claus_larsen Nybegynder
06. juli 2003 - 22:13 Der er 1 løsning

Forms og Variabler

Hej Eksperter

Jeg har et problem

Jeg er ved at lave en formular hvori man kan indtaste hvilke spillere der har deltaget i en given kamp!

Spillerne står alle i en database og bliver listet derfra.

Problemet er at antallet af spillere kan variere (Antallet står i databasen)!

Jeg udskriver en formular således.

    $Counter = 1;




        while($Counter <= $MatchRow[AntalSpillere])
            {

                $SpillerQuery = mysql_query("SELECT * FROM Users ORDER BY UserName ASC ");
                $Name = "Spiller$Counter" ;
                echo("$Name");
                echo("<div class=\"NormalNoMargin\">Spiller: </div><select name=\"$Name\" class=\"Long\">");       
                while($SpillerRow = mysql_fetch_array($SpillerQuery))
                    {
                    echo("<option value=\"$SpillerRow[UserID]\"");
                    echo(">$SpillerRow[UserName]</option>");
                    }
                    echo("</select><br><br>");   


                $Counter = $Counter + 1;

            }



        echo("<input type=\"submit\" value=\"Ok\" name=\"submit\" class=\"Ok\">");

        echo("</form>");

Spillerne bliver altså gemt med deres UserID i variablerne
$Spiller1
$Spiller2
osv....

Jeg ved hvor mange spillere der er, og skal ved submit nu have fat i værdien af $Spiller1

Dette skal gøres med en while lykke, hvor jeg tæller op igen fra 1 til og med $MatchRow[AntalSpillere]!

Hvordan får jeg hevet mine data ud fra formularen?

Jeg kan jo ikke skrive $Spiller1
Det må være noget i stil med $Spiller$Count, men det kan jeg ikke få til at virke!!!

Her er det jeg har leget med...

    $Count = 1;

        $MatchQuery = mysql_query("SELECT * FROM Matches WHERE MatchID = '$Match' ");
        $MatchRow = mysql_fetch_array($MatchQuery);

        while($Count <=$MatchRow[AntalSpillere])
   
            {

            $CurrentPlayer = "$Spiller$Count";
           

            echo("$CurrentPlayer");
           
            echo("$Spiller[1]");
            $Count = $Count +1;
            }

Håber i kan hjælpe
Avatar billede ahv Nybegynder
06. juli 2003 - 22:37 #1
Ville det ikke umiddelbart være nemmeste at lave alle de select om til et array, som du f.eks. kalder spiller?

        while($Counter <= $MatchRow[AntalSpillere])
            {

                $SpillerQuery = mysql_query("SELECT * FROM Users ORDER BY UserName ASC ");
                echo("<div class=\"NormalNoMargin\">Spiller: </div><select name=\"spiller[]\" class=\"Long\">");       
                while($SpillerRow = mysql_fetch_array($SpillerQuery))
                    {
                    echo("<option value=\"$SpillerRow[UserID]\"");
                    echo(">$SpillerRow[UserName]</option>");
                    }
                    echo("</select><br><br>");   


                $Counter = $Counter + 1;

            }

Så lægger det jo automatisk i spiller['0'] spiller['1'] osv. det er også meget nemmerw at gennemløbe.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester