Привет, ребята, 3:36 утра, и мне нужен умственный заряд.
Простой вопрос, какой самый простой / быстрый способ добавить 100 баллов в базу данных. Пожалуйста, предположите, что все записи не будут работать из-за дубликатов, плохих данных и т. Д.
Я пытаюсь обновить базу данных точно с 100 значениями.
Когда у меня есть хороший кусок данных, мне нужно добавить его в базу данных, и я использую функцию updateDB.
Эта функция просто записывает координаты широты / долготы в базу данных. Если есть дубликат или запись не удалась, я посылаю «ошибку» из php, и цикл должен продолжить сбор данных, пока у меня не будет ровно 100 точек в базу данных. Вот функция, которую я использую.
cct используется для предотвращения xss, пожалуйста, игнорируйте его, это прекрасно работает.
////more above this
if(100-completed > dispatched)
dispatched++;
updateDB(lat,lng);
/// more junk and then this function
function updateDB(lat,lng)
{
var cct = $("input[name=csrf_mysite]").val();
$.ajax({
type: "POST",
url: "/form",
data: {
'lat': lat,
'lng': lng,
'id_set': id_set,
'csrf_complexity': cct },
success: function(result) {
var obj = jQuery.parseJSON(result);
if( obj.status === "OK" )
{
completed++;
var marker = new google.maps.Marker(
{
icon: markerIcon,
position: new google.maps.LatLng(lat, lng),
map: map
});
$( "#progressbar" ).progressbar( "option", {
value: completed,
max: 100
});
$("#amount").text("Getting image " + completed + " of 100");
}
},
error: function(data){
//alert(data.responseText);
},
complete: function(data){
if(completed == 100)
window.location = "/start/curate";
dispatched--;
}
});
}
Эта функция не работает. Так есть идеи почему?
Это должно работать просто. Вызывайте updateDB до тех пор, пока он не достигнет 100 добавленных значений, и вызывайте updateDB только тогда, когда нет вероятности, что будут дополнительные вызовы. Диспетчеризация не уменьшается должным образом, поэтому я предполагаю, что завершается не для каждого события.
Идеи? Или любой другой способ сделать это было бы замечательно.