如果任何輸入字段爲空,則不要在mysql中插入。有可能(可以接受)某些輸入字段是空白的。在這種情況下,我需要插入非空白字段(值)。但是腳本根本不插入。如果輸入爲空,則不在mysql中插入(pdo)
我可以寫類似
if ((strlen($date_day1) < 1)) {
$date_day1 = 0;
}
但可能是更好的解決方案?如果輸入字段爲空,則插入所有其他字段。空場可能無法插入或inser 0
輸入
<input type="text" name="date_day1" id="date_day1"</td>
<input type="text" name="amount1" id="amount1"</td>
<input type="text" name="row_id1" id="row_id1"</td>
然後阿賈克斯獲得輸入值
$(document).ready(function(){
autosave();
});
function autosave() {
var t = setTimeout("autosave()", 5000);
var date_day1 = $("#date_day1").val();
var amount1 = $("#amount1").val();
var row_id1 = $("#row_id1").val();
$.ajax({
type: "POST",
url: "_autosave.php",
data: "date_day1=" + date_day1 + "&amount1=" + amount1+ "&row_id1=" + row_id1,
cache: false,
});
}
那麼PHP GET變量
$date_day1 = $_POST['date_day1'];
$amount1 = $_POST['amount1'];
$row_id1 = $_POST['row_id1'];
,然後嘗試記錄mysql
$stmt_insert = $db->prepare("INSERT INTO 2_1_journal(RecordDay, Amount, RowId) VALUES(:RecordDay,:Amount,:RowId)");
$stmt_insert->execute(array(':RecordDay' => $date_day1, ':Amount' => $amount1, ':RowId' => $row_id1,
));
更新
有了這樣的改變AJAX插入的作品,但是,這並不工作 success: function(){ document.getElementById('is_row_changed1').value = 0;}
$(document).ready(function(){
autosave();
});
function autosave() {
var t = setTimeout("autosave()", 5000);
var date_day1 = $("#date_day1").val();
var amount1 = $("#amount1").val();
var row_id1 = $("#row_id1").val();
if ($("#is_row_changed1").val() > 0) {
$.ajax({
type: "POST",
url: "_autosave.php",
dataType: "json",
data: {"date_day1" : date_day1, "amount1" : amount1, "row_id1" : row_id1},
cache: false,
success: function(){
document.getElementById('is_row_changed1').value = 0;
}
});
}
}
錯字:'$ row_id_1'與'$ row_id1'不一樣。這可能是數據庫拒絕存儲記錄的原因......它沒有ID。 – 2013-05-08 08:44:24
不,沒有row_id_1是我在這裏濛濛的。無處不在row_id1 – user2232696 2013-05-08 08:46:18
向您的代碼中添加'$ db-> setAttribute(PDO :: ATTR_ERRMODE,PDO :: ERRMODE_EXCEPTION);'以查看執行插入語句時是否有錯誤。 – 2013-05-08 08:48:58