sql >> Database >  >> RDS >> Mysql

Niet aangevinkt selectievakje geeft null-waarde terug

Als een selectievakje niet is aangevinkt, wordt het niet verzonden, dus de waarde instellen op 0 als het niet is aangevinkt, zal niet helpen - het zal altijd NULL retourneren.

Er zijn twee manieren om dit eenvoudig op te lossen:

1) Neem aan dat een NULL in de PHP-params betekent dat het selectievakje niet is aangevinkt. Als het selectievakje niet altijd op de pagina bestaat, kan dit problematisch zijn. Zo te horen is er een variabel aantal selectievakjes, dus dit zal waarschijnlijk niet werken.

2) Voeg een verborgen invoer toe die dezelfde naam heeft als het selectievakje met de waarde 0 BEFORE het selectievakje. Als het selectievakje is uitgeschakeld, wordt de waarde van het verborgen veld gebruikt, als het is aangevinkt, wordt de waarde van het selectievakje gebruikt.

<input type="hidden" name="checkbox_1" value="0">
<input type="checkbox" name="checkbox_1" value="1">

Opmerking:als uw namen in een array-vorm staan ​​(dwz er staan ​​vierkante haken in), werkt dit niet, omdat de verborgen velden het aantal arrays ook verhogen.



  1. Verstuur e-mails met bijlagen in SQL Server (T-SQL)

  2. IN vs OR van Oracle, welke sneller?

  3. Vergelijk arrays voor gelijkheid, negeer de volgorde van elementen

  4. ASP.NET Lidmaatschap/rolproviders voor MySQL?