03. maj 2004 - 12:08Der er
12 kommentarer og 1 løsning
Opdater checkbox
Jeg har en formular hvor brugeren kan indtaste nogle kundeoplysninger. Disse skal selvfølgelig kunne opdateres, hvilket gøres via en opdateringsformular. Jeg har en checkbox, som også skal kunne opdateres. Men jeg kan ikke få den til at virke. I formularen har jeg dette: ---- $christmasNext = $row['christmasNext']; if (!$christmasNext) { $christmasNext = "value='0'"; } else { $christmasNext = "value='1' checked"; } ----
Og i selve opdateringnsfilen har jeg dette: ---- // Hent variabler if(is_array($HTTP_POST_VARS)) { $christmasNext = $HTTP_POST_VARS['christmasNext']; } elseif (is_array($_POST)) { $christmasNext = $_POST['christmasNext']; } // Ret bruger $res = mysql_query("UPDATE tabel SET christmasNext='$christmasNext' WHERE id='$id'") or die (mysql_error());
Med version 7 af TeamShare tager Lector næste skridt og bygger en platform for AI-agenter, der i højere grad kan følge medarbejderen gennem hele arbejdsprocessen.
if (christmasNext == 0) { $res = mysql_query("UPDATE customer SET christmasNext='1' WHERE id='$id'") or die (mysql_error()); } else { $res = mysql_query("UPDATE customer SET christmasNext='0' WHERE id='$id'") or die (mysql_error()); }
if (christmasNext == 0) { $res = mysql_query("UPDATE customer SET christmasNext='0' WHERE id='$id'") or die (mysql_error()); } else { $res = mysql_query("UPDATE customer SET christmasNext='1' WHERE id='$id'") or die (mysql_error()); }
Prøv lige denne: if (christmasNext == 0) { $res = mysql_query("UPDATE customer SET christmasNext='True' WHERE id='$id'") or die (mysql_error()); } else { $res = mysql_query("UPDATE customer SET christmasNext='False' WHERE id='$id'") or die (mysql_error()); }
Det virker desværre ikke. Men er det overhovedet nødvendigt med en if/else? Kan man ikke bare gøre som jeg gjorde først? Bare med noget rettelse i, for det virker jo heller ikke.
$christmasNext = ($_POST['christmasNext'] == 1 ? 1 : 0); $res = mysql_query("UPDATE customer SET christmasNext='$christmasNext' WHERE id='$id'") or die (mysql_error());
Det virker ikke. I min formular har jeg dette (er ikke sikker på det tydeliggjort nok i det første jeg skrev) $sql = mysql_query("SELECT * FROM customer WHERE id='$id'") or die(mysql_error()); while($row = mysql_fetch_array($sql)){ $card = $row['christmasNext']; if (!$card) { $card = "value='0'"; } else { $card = "value='1' checked"; } //Form start <?PHP echo "Julekort:<input name='christmasNext' type='checkbox' ".$card.">" ?> //Form end
For så er den markeret hvis der er et 1-tal i tabellen og ikke markeret hvis der er et 0 i tabellen.
men hvad så hvis jeg vil have at der skal opdateres fra 1 til 0. Altså så value="0". Så næste gang jeg skal ind og rette den kunde, så skal der jo ikke være en markering i checkboksen. Så kan jeg jo ikke have value="1" for så er det jo en forkert oplysning. Er det klart hvad jeg mener?
Det virker sgu. Her er dine points.Men kan du ikke prøve at forklare mig hvorfor den skal være value="1" i begge tilfælde. Det er ikke logik i mine øjne, men det behøver det jo heller ikke altid at være. Tak for hjælpen. Jeg prøver lige selv. Det er fordi den kun skal sætte et 1-tal når den bliver "checked" ellers skal den sætte den til "False" som er 0. Er det korrekt?
Men $_POST['christmasNext'] vil kun være == 'hest' hvis checkboxen er checked ;)
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.