Код: Выделить всё
process.phpКод: Выделить всё
jquery.js
$(document).ready(function(){
var clear_timer;
$('#sample_form').on('submit', function(event){
event.preventDefault();
$.ajax({
url:"ajax/upload.php",
method:"POST",
//Additional Ajax parameters here
success:function(data){
if(data.success){
start_import();
clear_timer = setInterval(get_imported_data, 1000);
}
if(data.error){
//Error case code here
}
}
})
});
function start_import(){
$.ajax({
url:"ajax/import.php",
success:function(){
}
})
}
function get_imported_data(){
$.ajax({
url:"ajax/process.php",
success:function(data){
var total_data = $('#total_data').text();
var initial_rows = $('#initial_rows').text();
var width = Math.round(((data-initial_rows)/total_data)*100);
if(width >= 100){
clearInterval(clear_timer);
//Extra ajax parameters here
}
}
})
}
});
Код: Выделить всё
session_start();
try{
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$dbuser = "user";
$dbpass = "password";
$dbhost ="mysql:host=my_host;dbname=my_db;charset=utf8mb4";
$connect = new PDO($dbhost, $dbuser, $dbpass, $pdo_options);
}catch(Exception $e){
//Some Error handling here
}
$user_table = $_SESSION['user_table'];
$query = "SELECT * FROM $user_table";
$statement = $connect->prepare($query);
$statement->execute();
echo $statement->rowCount();
Проблема, в которой я использую, если я использую сессию. Бар отображается только в самом конце процесса. Если я удалю session_start () и использую статические переменные или константы, строка прогресса правильно отображается во время всего процесса. Я широко искал на различных форумах и не могу найти никаких сообщений, которые обсуждают возможную связь между session_start (); (в php) и setInterval (function (), delay); (в JS). Проблема в том, что мне нужно иметь возможность использовать переменную сеанса, чтобы выбрать таблицу, выбранную пользователем. Есть идеи о том, как решить эту проблему?
Подробнее здесь: https://stackoverflow.com/questions/796 ... etinterval
Мобильная версия