28. maj 2008 - 10:50Der er
15 kommentarer og 1 løsning
name vs. id i HTML form og hent værdi
Hey! Jeg har en for-løkke der henter nogle værdier i en database. For hvert nummer i DB, sættes en input checkbox til enten on eller off. Det kunne se ud som følger: if (preg_match('/1/',.....){ echo '<input type="checkbox" name="logstatus[]" id="' . $values[0] . '" checked>'; } else { echo '<input type="checkbox" name="logstatus[]" id="' . $values[0] . '">'; }
$values[0] vil udskrive et nummer, f.eks. 80102030.
Jeg får derfor et antal rækker med numre, hvor en checkbox er enten sat eller ikke sat og hvor name=logstatus[] og id=80102030.
I en anden forløkke vil jeg så gerne ved submit af form, update logstatus for hvert id.
if($_POST['form_action']=="update_numbers"){ foreach ($_POST['logstatus'] as $key => $value) { // For test, udskriv echo "key: $key; Value: $value<br>"; // Gør noget update_logstatus($number,$logstatus) } }
Mit spørgsmål er så, hvordan får jeg fat i id= ?
Jeg ønsker altså, at min funktion for hvert nummer f.eks. 80102030 updater med værdien fra checkboxen fra logstatus.
Uha, helst ikke noget med for meget java-script :-)
Sylvester: Simpelt og lige hvad jeg skulle bruge! Hvorfor havde jeg dog ikke tænkt på det?! :-) Så skal jeg bare lige have skrevet funktionen og kalde den for hvert gennemløb. Lækkert!
Hmmm... hvorfor løber min foreach ($_POST['logstatus'] as $key => $value) ikke de checkbox igennem, der ikke er sat? Det bevirker, at min funktion ikke køres, på de checkbox hvor jeg fjerne flueben?
"Det bevirker, at min funktion ikke køres, på de checkbox hvor jeg fjerne flueben" >> Præcis! Det er sådan checkbox'e skal fungere. Alt virker altså, som det skal. Er det ikke brugbart for dig, er det nok din struktur og dit elementvalg, du skal se på ;o)
Og det Ole mener, men det er nu aldrig til at vide, er at du fx kunne bruge to radioknapper, ja/nej, for hver checkbox du har nu. Så vil de komme med over hver gang.
Alternativt kan du måske udtrække de manglende numre et andet sted fra.
Klart! har forstået at checkbox fungere sådan med $_POST :-) Vil bare så gerne bruge dem, som man bruger dem i et program. Radiobuttons i web-siden med ja/nej, ser ikke så pænt ud når man har 50 rækker :-(
Burde starte en ny tråd :-)
Det der med hidden input og session lyder interessant! :-) Nevermind the SQL... Det er noget CGI jeg sammen med Curl afvikler og updater. Og det fungere altså fint med at "slå til", men ikke "slå fra".
Så jeg henter status i DB og skriver ud: echo '<input type="checkbox" name="logstatus['. $values[0] .']" id="' . $values[0] . '" checked>'; echo '<input type="hidden" name="h_logstatus['. $values[0] .']" id="' . $values[0] . '" value="1">';
Og hvad så? Noget java-script hajs, der onClick updater value i hidden field? Og så løber jeg mine h_logstatus[] igennem i forløkke og sætter ind i DB?
Tusind tak for hjælpen alle! Burde næsten oprette en ren point tråd :-) }
Synes godt om
Ny brugerNybegynder
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.