以下是我的HTML表单中的一个片段,它相应地从表行中提取选项.
我想要做的是让第一个选项值为NULL,因此当没有选择时,在表单提交到数据库时输入NULL.
<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>
Run Code Online (Sandbox Code Playgroud)
这可能吗?或者有人可以建议更容易/更好的方法吗?
谢谢
更新:感谢您的回答,我正在使用下面详述的方法将其转换为NULL.
if ($_POST['location_id'] === '')
{
$_POST['location_id'] = 'NULL';
}
Run Code Online (Sandbox Code Playgroud)
但是,当尝试将此NULL值与以下查询一起使用时,它不起作用.
UPDATE addresses SET location_id='NULL' WHERE ipid = '4791'
Run Code Online (Sandbox Code Playgroud)
我知道它需要location_id=NULL
改为但不知道如何做到这一点......
更新2:这是我的查询工作方式:
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());
Run Code Online (Sandbox Code Playgroud)
dec*_*eze 32
不,POST/GET值永远不会null
.它们最好的是一个空字符串,您可以将其转换为null
/ 'NULL'
.
if ($_POST['value'] === '') {
$_POST['value'] = null; // or 'NULL' for SQL
}
Run Code Online (Sandbox Code Playgroud)