sql >> Databasteknik >  >> RDS >> Mysql

Omarkerad kryssruta returnerar nullvärde

Om en kryssruta är avmarkerad, skickas den inte, så att ställa in dess värde till 0 om den inte är markerad kommer inte att hjälpa - den returnerar alltid NULL.

Det finns två sätt att enkelt fixa detta:

1) Anta att en NULL i PHP-parametrarna betyder att kryssrutan är avmarkerad. Om kryssrutan inte alltid finns på sidan kan detta vara problematiskt. När det låter så finns det ett varierande antal kryssrutor, så det här kommer förmodligen inte att fungera.

2) Lägg till en dold indata som har samma namn som kryssrutan med värdet 0 BEFORE kryssrutan. Om kryssrutan är avmarkerad kommer det dolda fältvärdet att användas, om det är markerat används kryssrutans värde.

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

Obs:Om dina namn är i en arrayform (dvs. de har hakparenteser i dem), kommer detta inte att fungera, eftersom de dolda fälten också ökar arrayantalet.



  1. LIMIT 10..20 i SQL Server

  2. Distribuera SQL Server AlwaysOn Availability Groups på Linux

  3. Hur arbetar man med PGpoint för geolokalisering med PostgreSQL?

  4. FORALL-uttalande med nedre och övre gräns i Oracle-databasen