Avatar billede doncarnage Nybegynder
07. juli 2010 - 02:43 Der er 6 kommentarer og
1 løsning

Hente værdier fra en select-menu i en while løkke?

Godaften,

Jeg får følgende udskrevet ved hjælp af en simpel while løkke: "navn", "email" og en tilhørende select/dropdownmenu.

Det ser ud som her på billedet: http://www.valuable.dk/eks.jpg


Spørgsmålet lyder så på hvordan jeg smartest og nemmest får opdateret de personer, som der er valgt et nyt hold ud fra i dropdown-menuen? Dvs. det er kun de personer, der er valgt et nyt hold ud fra, som skal opdateres i databasen.

Min dropdown/select ser blot ud som her:

<?php
echo ‘<select name="nythold">';
echo '<option value="0"></option>';
echo '<option value="1">Hold 1</option>';
echo '<option value="2">Hold 2</option>';
echo '<option value="3">Hold 3</option>';
echo '<option value="4">Hold 4</option>';
echo '<option value="5">Hold 5</option>';
echo '<option value="6">Hold 6</option>';
echo '<option value="7">Hold 7</option>';
echo '<option value="8">Hold 8</option>';
echo '</select>';
?>


Jeg tænkte selv at det måtte være noget i retning af dette:

mysql_query("UPDATE $tbl_name SET hold=".$_POST['nythold']." WHERE id=".$row['userid']."") or die(mysql_error());
 
Men her får jeg så desværre kun værdien ud fra den sidste dropdown/select menu på siden (og ikke alle, der er valgt), og derudover kan jeg heller ikke lige gennemskue hvordan jeg får id'en med ud fra brugerne.


Nogle gode idéer ;)?
Avatar billede wanze Nybegynder
07. juli 2010 - 03:04 #1
Problemet er vel, at du har flere selectmenuer med samme navn. Du bliver nødt til at gøre navnene unikke ved fx at kalde dem nythold<brugerid>. Herefter kan du jo så køre din løkke igen med noget lignende:

foreach($users as $user) {
  if($_POST['nythold'.$user]==0) continue;
  mysql_query(..);
}
Avatar billede doncarnage Nybegynder
07. juli 2010 - 14:52 #2
Har fået smidt en brugerid efter hver select nu, men er desværre stadig ikke helt med på hvordan jeg får kørt den foreach løkke efter hensigten på siden :S Er det noget du gider at uddybe?

Prøvede lige kort med nedenstående for at se om den smed nogle id's med ud:

      foreach($users as $user){
          if($_POST['nythold'.$user]==0) continue;
            echo $user;
        }

Men der endte jeg blot med "Invalid argument supplied for foreach()"
Avatar billede wanze Nybegynder
07. juli 2010 - 16:04 #3
Ja, $users skal jo være det array der indeholder brugerne - det var jo et eksempel. Du siger du kører en while-løkke  for at få navnene ud, men du har intet fortalt om den. Det er den du skal bruge.
Avatar billede doncarnage Nybegynder
07. juli 2010 - 16:39 #4
Ah ja, my bad.. Smid et svar, så du kan få points ;)
Avatar billede wanze Nybegynder
07. juli 2010 - 19:20 #5
Har du så fundet ud af det? :)
Avatar billede doncarnage Nybegynder
07. juli 2010 - 20:21 #6
Jepsen, tak for hjælpen ;)
Avatar billede wanze Nybegynder
07. juli 2010 - 21:29 #7
Velbekomme og tak for point!
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