Sau đây là một đoạn trích từ biểu mẫu HTML của tôi, kéo các tùy chọn từ các hàng trong bảng phù hợp.Có thể có giá trị SELECT/OPTION HTML là NULL bằng cách sử dụng PHP không?
Điều tôi muốn làm là có giá trị tùy chọn đầu tiên là NULL nên khi không có lựa chọn nào được thực hiện, NULL được nhập khi biểu mẫu được gửi đến cơ sở dữ liệu.
<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>
Điều này có thể không? Hoặc ai đó có thể đề xuất một cách dễ dàng hơn/tốt hơn để làm điều này?
Cảm ơn
Cập nhật: Cảm ơn câu trả lời, tôi đang sử dụng phương pháp trình bày chi tiết dưới đây để chuyển đổi nó để NULL.
if ($_POST['location_id'] === '')
{
$_POST['location_id'] = 'NULL';
}
Tuy nhiên khi cố gắng sử dụng giá trị NULL này với truy vấn sau thì nó không hoạt động.
UPDATE addresses SET location_id='NULL' WHERE ipid = '4791'
Tôi biết nó cần phải được location_id=NULL
thay nhưng không biết làm thế nào để làm điều này ...
Cập nhật 2: đây là cách truy vấn của tôi làm việc:
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());
Thật sao? 'var_dump ($ _ GET ['missingKey']); // NULL' http://codepad.org/2s7jCBbc – AlienWebguy
Cảm ơn lừa dối - Tôi đã sử dụng câu trả lời của bạn nhưng vẫn gặp sự cố khi tải đúng NULL - nếu bạn thấy tôi cập nhật. Bất kỳ ý tưởng? – Bernard
@Alien Đó không phải là giá trị POST/GET, đó là giá trị * nonexistent *. – deceze