Форум → Программирование → PHP для идиотов → Вывод записей в то время как парсю файл
Вывод записей в то время как парсю файл
-
Парсю .csv файл и забиваю инфу в базу данных. csv содержит около 21000 клиентов. когда запускаю скрипт прихожится подождать около 40 секунд и вуаля все готово. но злобный клиент не будет ждать 40 секунд - он убежит со страницы и разозлится. как мне вывести на страничку какие рекорды уже обработались?
если делаю echo то все равно надо ждать 40 секунд а только потом узреть список клиентов! -
-
28 сентября 2010 г. 10:27, спустя 6 часов 40 минут 29 секунд
Может просто с помощью JS дать пользователю понять что нужно подождать? -
28 сентября 2010 г. 10:32, спустя 5 минут 18 секунд
sen4ik, никак. Парсить нужно правильно файл, тогда скорость увеличиться + в целом сразу же предупреждай пользователя, что загрузка файла займет продолжительное время, так что пусть ждет пока на экране что-то не отпишется ему (либо "Ок" либо ошибка).
flush() ещё более затянет этот процесс, хотя я и не уверен что он вообще поможет в данном случае. -
28 сентября 2010 г. 10:41, спустя 8 минут 57 секунд
flush() ещё более затянет этот процесс, хотя я и не уверен что он вообще поможет в данном случае.
не уверен - не пизди :D
можно с помощью flush вывыодить JavaScript код - <script>, например отрисовать прогрессбар и его двигать из пхп таким макаром :)
кто утверждает что нельзя пусть поцелует меня в хуй. делал не раз :)Сапожник без сапог -
28 сентября 2010 г. 10:52, спустя 10 минут 55 секунд
phpdude, что именно ты делал: прогрессбар или целовал хуй? =)))
А вообще я ж сказал, что куй знает. То, что он будет увеличивать время обработки, так это точно. А вот будет отдавать кол-во пропарсеного или нет - реально не пробовал в такой русле делать ничего. Просто пиздячил "Ждите" и клал хуй на все такие приколы.
Да и в целом прогрессбар чтоб запиздячить, нужно вначале посчитать сколько строк есть всего (ну это не проблема) + возможно запиздячить фильтр по выборке только определенных строк (вот тут уже просто так сходу не подсчитать сколько нужно будет загрузить строк). Так что целовать ничего не буду, но не всегда можно сделать прогрессбар в данной случае. -
28 сентября 2010 г. 12:23, спустя 1 час 31 минуту
Givi, не кипятись, сказал бы просто "я был не прав" :)Сапожник без сапог -
28 сентября 2010 г. 12:36, спустя 13 минут 20 секунд
надо умный прогрессбар, в котором не видно прогресса (LOL). видели — где просто полоска ебошится туда и обратно? это классная придумка юзабилистов. пользователь понимает, что надо подождать и разработчик не парится.ιιlllιlllι унц-унц -
28 сентября 2010 г. 12:39, спустя 2 минуты 45 секунд
artoodetoo, тоже вариант, еси нет способа посчитать)Сапожник без сапог -
28 сентября 2010 г. 20:51, спустя 8 часов 11 минут 53 секунды
Вот как я реализовал
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js""></script>
<script>
function loadingAjax(div_id)
{
$("#"+div_id).html('<img src="ajax-loader.gif"> working…');
$.ajax({
type: "POST",
url: "parse.php",
success: function(msg){
$("#"+div_id).html(msg);
}
});
}
</script>
</head>
<body>
<a href="javascript:void(0);" onclick="loadingAjax('myDiv');">Parse csv</a>
<div id="myDiv"></div>
</body>
</html> -
28 сентября 2010 г. 21:28, спустя 37 минут 31 секунду
sen4ik, спасибо, буду юзать :)https://smappi.org/ - платформа по созданию API на все случаи жизни
Пожалуйста, авторизуйтесь, чтобы написать комментарий!