| 
 Индикатор загрузки данных из базы Добрый день! Такой вопрос: есть php-скрипт, который загружает обычным select-ом из базы mysql некие данные и выводит в html-табличку. Записей может быть несколько тысяч, и весь процесс занимает несколько секунд, в течение которых пользователь наблюдает только загруженный header страницы. Возможно ли сделать при помощи jQuery индикатор (и если да, то как?:) ), который бы отображался на время загрузки данных из базы, не обязательно прогресс-бар, можно просто анимашку. Или для этого надо, чтобы данные из базы тоже грузились при помощи jQuery (Ajax)? | 
| 
 php так не может. если отдаст данные, значит все ставьте пустышку. будет выглядеть, будто прогресс идет) | 
| 
 Цитата: 
 | 
| 
 делайте через AJAX, тогда узнаете, когда придут данные и когда надо убирать пустышку | 
| 
 Это вариант, но слишком много придется переделывать. А что, если сделать так: изначально выводить данные в скрытый div, например, а когда все загружено, показывать div и прятать пустышку? Только я не знаю, как определять момент окончания загрузки? Использовать событие onLoad дива? | 
| 
 делайте как VK : когда запрос начался (данные только посланы), покажите красивую гифку, мол система загружает (хехе) А потом,как данные придут, это дело скрываете. о господи. не знаете событие AJAX? вы на чем пишите? нативный JS, или на JQuery, или другом фреймворке? | 
| 
 Пишу на РНР, при необходимости использую jQuery, но только готовые решения. Максимум могу немного адаптировать под свои нужды. Но написать что-то свое на JS или jQuery - увы...:(  Поэтому буду благодарен за пример практической реализации вышеописанного:) | 
| 
 не люблю jquery.  
// надеюсь, вы элементы получать умеете :)
var GIF = $('.....');
$.ajax({
        //поставьте false, если не надо кеширование, в противном случае уберите эту строчку
        cache : true,
        // данные,которые будут идти. если не отправляются, уберите эту строчку
        data : { a : 'b', login : 'admin1234', password : 'фысивйвц845ч3' },
        // перед отправкой показываем анимацию
        beforeSend : function(xml){ GIF.show() },
        // в любом случае скрывает анимацию
        complete : function(){ GIF.hide() },
        // обрабатывать ошибки надо. потом не понять, где загвоздка, когда что-нибудь сломатеся
        error : function( xml, status, err ){  alert( 'ошибка' )  },
        // выводим то,что пришло
        success : function(data){  alert('Пришло : \n' + data)  },
        // время жизни запроса. на всякий.
        timeout : 15 * 1000,
        // URL запроса
        url : ""
        })
 | 
| 
 var GIF = $('#div_id'); - сюда, как я понимаю, ставим id какого-нибудь дива с анимашкой, так? data : { a : 'b', login : 'admin1234', password : 'фысивйвц845ч3' }, - вот это не понимаю... И как это привязывается к конкретному процессу выборки данных из базы, тоже не понимаю.:( На всякий случай, вот файл, который производит выборку: 
<?php
// No direct access.
defined('_GB') or die;
$query = "SELECT id, num, abonent, prim FROM tel_int";
$result = mysql_query($query);
////////////////////// вывод в таблицу \\\\\\\\\\\\\\\\\\\\\\\\\\\\\
	echo "<br /><table class='usertable'><thead><tr class='odd'><th> </th><th>Абонент</th><th>№ тел.</th><th>Примечание</th></tr>";
		while($row = mysql_fetch_array($result)) {
			echo "<tr><td>" . $row['id'] . "</td><td>" . $row['abonent'] . "</td><td>" . $row['num'] . "</td><td>" . $row['prim'] . "</td></tr>";
		}	
	echo "</thead></table>"		
?>
Этот файл инклюдится в файл index.php, который представляет разметку страницы (шаблон). | 
| 
 ну раз просто берутся данные из базы,тогда лучше так 
// надеюсь, вы элементы получать умеете :)
var GIF = $('#div_id');
$.ajax({
        // перед отправкой показываем анимацию
        beforeSend : function(xml){ GIF.show() },
        // в любом случае скрывает анимацию
        complete : function(){ GIF.hide() },
        // обрабатывать ошибки надо. потом не понять, где загвоздка, когда что-нибудь сломатеся
        error : function( xml, status, err ){  alert( 'ошибка' )  },
        // выводим то,что пришло
        success : function(data){  alert('Пришло : \n' + data)  },
        // URL запроса
        url : "http://google.ru"
        })
 | 
| Часовой пояс GMT +3, время: 19:47. |