Avatar billede blach Nybegynder
08. september 2004 - 18:51 Der er 9 kommentarer og
1 løsning

Mange select boxe, skal huske hvilket nr ved submit

Hej,
Jeg har en slags admin ting, hvor man i højre side skal kunne sige ja/nej til hver data, hivet ud af en database.
Jeg har gjort det hele nu, SELECT boxen står på ja/nej alt efter hvad der står i databasen...
Men hvordan får jeg den nu til at gemme dataene? Den skal jo kunne skelne mellem om det er nr. 0, 1, 2 osv. Kan man lave noget smart i URL'en? (jeg gemmer $nr i koden - men hvordan får jeg den gemt?)

KODE:

if($_POST['submit']) {
  echo "nr der skal gemmes:". $_POST['nr'] ." hvor der er valgt ". $_POST['show'];
}

  $sql = mysql_query("SELECT ...");
  while($data = mysql_fetch_Array($sql)) {
    $aantal++;

    echo '<FORM method="POST" action="'.$php_self.'">';
    $nr = "$data[0]";
    $show_dat = "$data[5]";
    echo "<B>" . $aantal ."</B> | $data[1]<BR>";
    echo '<SELECT CLASS="but" style="width:44px" name="show"><option value="ja"'; if($show_dat==ja) { echo " selected"; } echo'>Ja</option><option value="nej"'; if($show_dat==nej) { echo " selected"; } echo'>Nej</option></SELECT>
    <BUTTON NAME="submit" TYPE="submit" CLASS="button">Gem</BUTTON>';
    echo "</TD></TR></TABLE><BR><BR>";
    echo '</FORM>';
  }
Avatar billede detox Nybegynder
08. september 2004 - 19:03 #1
Umiddelbart synes jeg det vil være mere praktisk med radiobuttons.
Men du kan give hver select sit eget navn, fx $nr:

<SELECT CLASS="but" style="width:44px" name="$nr">
Avatar billede detox Nybegynder
08. september 2004 - 19:06 #2
Du kan osse lave et array:

<SELECT CLASS="but" style="width:44px" name="show[]">

Så ligger dataene i $_POST['show'][0], $_POST['show'][1], $_POST['show'][2], osv...
Avatar billede blach Nybegynder
08. september 2004 - 19:15 #3
detox --> så udskriver den jo bare ja/nej hvis jeg bruger name="$nr".. Eller kan jeg godt udskrive nummeret?
Avatar billede detox Nybegynder
08. september 2004 - 20:18 #4
Du kan prøve at lægge $nr i url:

echo '<FORM method="POST" action="'.$php_self.'id='.$nr.'">';

og så:

if($_POST['submit']) {
  echo "nr der skal gemmes:". $_GET['id'] ." hvor der er valgt ". $_POST['show'];
}
Avatar billede blach Nybegynder
08. september 2004 - 20:38 #5
Har sat den således:
echo '<FORM method="POST" action="index.php?side=banner&id='.$nr.'">';
    $nr = "$data[0]";

Men den skriver bare "index.php?side=banner&id=" i URL(altså blank)
Noget jeg kan gøre?
Avatar billede blach Nybegynder
08. september 2004 - 20:40 #6
eller rettere sagt, den kan jo kun nummeret på den nederste.. den øverste er blank!
Dvs. den udskriver 2 hvis jeg klikker på den nederste, men intet ved de andre...
Avatar billede detox Nybegynder
08. september 2004 - 20:41 #7
Du skal nok lige bytte rundt på de 2 linjer:

echo '<FORM method="POST" action="index.php?side=banner&id='.$nr.'">';
    $nr = "$data[0]";

ellers er $nr jo tomt i den første linje ;o)
Avatar billede blach Nybegynder
08. september 2004 - 21:33 #8
Cool, det virker :)
Endnu en gang tak for hjælpen, detox..
Avatar billede blach Nybegynder
08. september 2004 - 21:45 #9
Lig et svar, du har fortjent det :)

Nu mangler jeg bare lige at lære hvordan man laver det så der kun er 1 submit knap.. -må blive en anden gang!
Avatar billede detox Nybegynder
08. september 2004 - 21:48 #10
Velbekommen
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