以下是我的HTML表單中的一個片段,它相應地從表格行中選擇選項。是否可以使用PHP將HTML SELECT/OPTION值設置爲NULL?
我想要做的是將第一個選項值設置爲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>
這可能嗎?或者可以有人提出一個更簡單/更好的方式來做到這一點?
感謝
更新:感謝您的回答,我用下面詳述將其轉換爲NULL的方法。
if ($_POST['location_id'] === '')
{
$_POST['location_id'] = 'NULL';
}
但是,當試圖在下面的查詢中使用此NULL值時,它不起作用。
UPDATE addresses SET location_id='NULL' WHERE ipid = '4791'
我知道它需要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());
真的嗎? '的var_dump($ _ GET [ 'missingKey']); // NULL' http://codepad.org/2s7jCBbc – AlienWebguy 2012-01-10 00:38:36
謝謝deceze - 我已經使用了你的答案,但仍然有問題得到它的權利NULL - 如果你看到我更新。有任何想法嗎? – Bernard 2012-01-10 01:17:11
@Alien這不是一個POST/GET值,這是*不存在*值。 – deceze 2012-01-10 01:24:52