Quello che segue è uno snippet del mio modulo HTML che estrae le opzioni dalle righe della tabella di conseguenza.È possibile avere un valore SELECT/OPTION HTML come NULL utilizzando PHP?
Quello che voglio fare è che il primo valore di opzione sia NULL, quindi quando non viene effettuata alcuna scelta, NULL viene inserito quando il modulo viene inviato al database.
<td>Type</td>
<td>:</td>
<td><select name="type_id" id="type_id" class="form">
<option value=""></option>
<?php
$sql = mysql_query("SELECT type_id, type FROM $tbl_add_type") or die(mysql_error());
while ($row = mysql_fetch_array($sql))
{
echo "<option value=".$row['type_id'].">" . $row['type'] . "</option>";
}
?>
</select>*</td>
È possibile? O qualcuno potrebbe suggerire un modo più semplice/migliore per farlo?
Grazie
Update: Grazie per la risposta, sto usando il metodo descritto di seguito per convertirlo a NULL.
if ($_POST['location_id'] === '')
{
$_POST['location_id'] = 'NULL';
}
Tuttavia, quando si tenta di utilizzare questo valore NULL con la seguente query, non funziona.
UPDATE addresses SET location_id='NULL' WHERE ipid = '4791'
so che deve essere invece location_id=NULL
ma non sanno come fare questo ...
Aggiornamento 2: ecco come funzionano le mie domande:
if ($_POST['location_id'] === '')
{
$_POST['location_id'] = 'NULL'; // or 'NULL' for SQL
}
$notes=isset($_POST['notes']) ? mysql_real_escape_string($_POST['notes']) : '';
//$location_id=isset($_POST['location_id']) ? mysql_real_escape_string($_POST['location_id']) : '';
$ipid=isset($_POST['ipid']) ? mysql_real_escape_string($_POST['ipid']) : '';
$sql="UPDATE addresses
SET notes='$notes', location_id='$location_id'
WHERE ipid = '$ipid'";
mysql_query($sql) or die(mysql_error());
Davvero? 'Var_dump ($ _ GET [ 'missingKey']); // NULL' http://codepad.org/2s7jCBbc – AlienWebguy
Grazie all'inganno - Ho usato la tua risposta, ma ho ancora problemi nel trovarla a destra NULL - se mi vedi aggiornare. Qualche idea? – Bernard
@Alien Questo non è un valore POST/GET, è un valore * inesistente *. – deceze