EDIT - передача произошла
.. теперь мне нужно выяснить, как получить успешные переводы для удаления каждой строки после ее сохранения на хосте.Функция, которая извлекает данные из базы данных SQL браузера:
function grabLocal(){
db.transaction(function(tx) {
tx.executeSql('SELECT * FROM entries', [], function(tx, results){
var len = results.rows.length, i;
for (i = 0; i < len; i++) {
var qID = (results.rows.item(i).ID);
var qEmail = (results.rows.item(i).email);
var qPhone = (results.rows.item(i).phone);
var qMonth = (results.rows.item(i).birth_month);
var qDay = (results.rows.item(i).birth_day);
var qYear = (results.rows.item(i).birth_year);
var qMonth = (results.rows.item(i).birth_month);
var qGender = (results.rows.item(i).gender);
var qContest = (results.rows.item(i).contest);
var qStore = (results.rows.item(i).storeNo);
var qDate = (results.rows.item(i).added_on);
var localData = new Array((qEmail),(qPhone),(qMonth),(qDay),(qYear),(qGender),(qContest),(qStore),(qDate));
$.ajax({
type: "POST",
url: "sendIt.php",
data: "email=" + qEmail + "&phone=" + qPhone + "&month=" + qMonth + "&day=" + qDay + "&year=" + qYear + "&gender=" + qGender + "&contest=" + qContest + "&store=" + qStore + "&date=" + qDate,
success: function(){
// delete each row as passed to host
db.transaction(function(tx)
{
tx.executeSql('DELETE FROM entries WHERE ID = ?', [qID]);
});
// alert ("Success");
}
});
}
});
});
}
, php прост:
<?php
$link = mysql_connect('host', 'user', 'password');
if (!$link) {
die('Could not connect: ' .mysql_error());
}
echo 'Connected successfully';
$email = htmlspecialchars(trim($_POST['email']));
$phone = htmlspecialchars(trim($_POST['phone']));
$month = htmlspecialchars(trim($_POST['month']));
$day = htmlspecialchars(trim($_POST['day']));
$year = htmlspecialchars(trim($_POST['year']));
$gender = htmlspecialchars(trim($_POST['gender']));
$contest = htmlspecialchars(trim($_POST['contest']));
$store = htmlspecialchars(trim($_POST['store']));
$datestamp = htmlspecialchars(trim($_POST['date']));
mysql_select_db("sandbox_info") or die (mysql_error());
mysql_query("INSERT INTO `infoData` (email, phone, birth_month, birth_day, birth_year, gender, storeNo, contest, added_on) VALUES ('$email','$phone','$month','$day','$year','$gender','$store','$contest','$datestamp')");
echo 'Data uploaded';
mysql_close($link);
?>
Может кто-нибудь помочь объяснить, что не так с транзакцией удаления?Он удаляет одну строку каждый раз, когда я запускаю процесс, но я бы хотел удалить их все.Я думаю, я мог бы отбросить всю таблицу, но я бы предпочел, чтобы она выполняла проверку после каждой передачи на удаленный хост, а затем удаляла локальные данные.Буду также признателен за любые советы по улучшению этого кода в целом.Заранее благодарен за любой совет!
ОТКРОВЕНИЕ
ОК, я повторил qID в случае успеха и обнаружил, что, удаляя каждую строку, он затем дает новый идентификатор для следующего доступногогрести и продолжает повторять один и тот же идентификатор снова и снова.Итак ... Я знаю проблему, но мне все еще нужна помощь, чтобы найти исправление.