我想知道我的代碼有什麼問題..我正在嘗試將POST數據寫入我的數據庫但是在插入之前,檢查EQUAL行是否存在以及是否存在顯示的消息。我試了一下:檢查整行是否存在
這裏是我的querys在頁面的頂部:
if(isset($_POST['submitAddEvents'])){
// Verify if the data exists
if(!filter_var($_POST['teamA'] && $_POST['teamB'] && $_POST['eventDate'])){
$stmt = $db->prepare('SELECT * FROM events WHERE teamA = :teamA AND teamB = :teamB AND eventDate = :eventDate');
$stmt->execute(array(
':teamA' => $_POST['teamA'],
':teamB' => $_POST['teamB'],
':eventDate' => $_POST['eventDate'],
));
$row = $stmt->fetch(PDO::FETCH_ASSOC);
}
$statement = $db->prepare("INSERT INTO events(teamA, teamB, eventDate, `time`, live) VALUES (:teamA, :teamB, :eventDate, :timeOfEvent, :live)");
$statement->execute(array(
':teamA' => $_POST['teamA'],
':teamB' => $_POST['teamB'],
':eventDate' => $_POST['date'],
':timeOfEvent' => $_POST['timeOfEvent'],
':live' => $_POST['live'],
));
$id = $db->lastInsertId('ID');
}
?>
這裏是我的腳本在頁面的底部:
<script>
//Saving Data
$('#saveButton').click(function(){
var teamA = $('#teamA').val();
var teamB = $('#teamB').val();
var date = $('#date').val();
var timeOfEvent = $('#timeOfEvent').val();
var live = "0";
if($("#live").is(':checked'))
live = $('#live').val();
$.ajax({
url : "<?= $_SERVER['PHP_SELF'] ?>",
type : "POST",
async: false,
data :
{
'submitAddEvents' : 1,
'teamA' : teamA,
'teamB' : teamB,
'date' : date,
'timeOfEvent' : timeOfEvent,
'live' : live,
},
success:function(re)
{
window.location = "addEvents.php";
}
});
});
</script>
但沒有工作,數據保存到數據庫中,並沒有通過任何驗證ajax提交...有人可以告訴我什麼是錯的嗎?有人可以幫我解決它嗎?
你會想從JavaScript發送數據到一個單獨的PHP頁面,然後'回聲json_encode($ assocArray)'從PHP頁面,那麼你會得到響應,在你的對象'成功'方法的're'參數。 – PHPglue
如果你需要顯示ajax響應。你只是在服務器端迴應任何東西。你會在ajax成功提醒(重新);像這 – JYoThI