avatar_DapKUH

Решение проблемы обновления результатов игры в MU online и на сайтах. Помощь Web: Ajax + Php

Автор DapKUH, 2011 Янв. 24, 11:30

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Ключевые слова [SEO] mu onlinephpajax

DapKUH

Здрафствуйте, товарисчи форумчане!
Столкнулся с проблемой, хочу сделать пафосное обновление результата "Сколько человек в игре" т.е чтобы при нажатие на красивую кнопочку "рефреша, в прочем много картинок для этого нелегкого дела есть", обновлялся результат скрипта PHP.

Т.е допустим Сейчас в игре: ХХХ человек (Обновить) - и чтобы после нажатия на обновить, не перезагружая страницу менялся результат PHP скрипта, не знаю там jquery для этого использовать или другую библиотеку, кто в общем знает как сделать такой финт без перезагрузки страницы отпишите, буду благодарен!

epmak

беж jquery никак что ли? почитай книжку про аякс, тебя саамый 1 пример вполне устроит...

GrInYa

jQuery:

$('#refresh_button').click(function(e) {
      $('#count_online').load('count_online.php');
});


DapKUH

Цитата: GrInYa от 2011 Янв. 24, 10:00  jQuery:

$('#refresh_button').click(function(e) {
$('#count_online').load('count_online.php');
});


Извини, если тебя не затруднит можешь написать подробней?

GrInYa

айди кнопки рефреша: refresh_button
айди онлайн значении: count_online
откуда берать значения: count_online.php

DapKUH

Это то я понял, не понял не много использование скрипта, как его вставлять.. все равно ставлю спасибо, попробую разобраться

GrInYa

#6
если уже используешь jQuery, то просто добавь его где нибудь на сайте в яваскрипте, если нет то добавь и саму библиотеку

Zеvs

Цитата: DapKUH от 2011 Янв. 24, 13:26  Это то я понял, не понял не много использование скрипта, как его вставлять.. все равно ставлю спасибо, попробую разобраться
Подключи jQuery библиотеку.

Затем уже где тебе необходимо, скрипт Грини
<script type="text/javascript">
$('#refresh_button').click(function(e) {
$('#count_online').load('count_online.php');
});
</script>
Это как пример.
Вообще у jQuery возможностей достаточно, Гриня дал самый простой вариант.
Тут можешь почитать про jQuery с примерами

worldhero

#8
Ну раз тема названа по общему.
То и я задам свой вопрос.
необходимо следующие.

Вызываем скрипт, вовремя его выполнения - отображается картинка (loading), по завершению высвечиваем результат.

Но смысл в том, что мне надо не целенькую страницу просматривать от загрузки а только часть.

И использовать вариант - динамическое подгрузка страниц через ссылку, вовремя подгрузки делать ожидание имеет побочные ефекты - например (страница которая подгружается динамически - должна вызывать повторно Php функции и действия, которые были вызваны в общем окне)
И это не считая того что, высвечиваться - лоадинг не будет если там отправляем запрос методом POST (уже в открытой странице)

есть предложения, варианты, коды?

вобщем нужен типичный onload на определенную таблицу не затрагивая другие и позволяющие им загрузиться. (а вовремя выполнения кода на этой указанной таблице свитить loading)

epmak

я брал jqery, вовремя запуска запроса присваивал диву значение картинки, если неудачно, то ошибку, если удачно то возвращал полученные данные.
а на платформе, которая слушала что угодно обычным эхом на экран вывел и все.

GrInYa

worldhero, не очень то понял что ты именно хочешь...но попробуй:

$('#result').load('ajax/test.html #container');

https://api.jquery.com/load/

worldhero

#11
спс.
интересные доводы и статейка.
покопаюсь, мо же что напишу интересное.
а пока реализовал задуманное через iframe

всем откликнувшимся спасибо.

Новая интересная задача.
Как заставить появиться изображение - вовремя выполнения php скрипта.

например, у нас php строит циклом таблицу из 3000 строк, все это дело вытаскивает с базы, записывает производит манипуляции.

Но div с изображением типо - загрузка плиз подождите, не будет загружаться пока не выполнится все действия php кода. После пока пользователям отправляются html данные висит наш див.

Мне надо чтобы загрузился див, еще когда выполняется php манипуляции, и висел бы до конца пока полностью лист не сформируется.
Гугл ответил, что это нереально - мне кажется, что ошибается.

есть идеи? :)

в общем сделал реализацию таким методом:
<div id="dataFromServer">
Пожалуйста, включите поддержку JavaScript в браузере и перезагрузите страницу.
</div> <br>
<script type="text/javascript">
//этот код выполняется без использования jQuery
//убираем сообщение о том, что нужно включить JS
document.getElementById('dataFromServer').innerHTML = '';
</script>
<script type="text/javascript" src="ajax_and_js/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(function() {
//этот код выполняется после загрузки jQuery
var dataBlock = $('#dataFromServer');
dataBlock.html('<center><img src="images/loading.gif" /><br> Подождите, идет загрузка данных</center>');
$.get('formerovanie.php', '', function(response) {
dataBlock.html(response);
});
});
</script>
мо же кому пригодиться :)


Вопрос :))

Каким макаром передать все post на эту страницу. Не прописывая каждый :)

$.post('formerovanie.php', {$(this).val()}, function(response) {

и
var postdata   = $('#form').serialize();
$.post('formerovanie.php', postdata, function(response) {

не катит - ибо он берет эти данные именно со странице с кодом, а не уже с загруженной страници...))

намутил я передачу
сделал таким способом:
//где url_get_zapros = $_SERVER['QUERY_STRING'];
var getzaprosi= '<?php echo $GLOBALS[url_get_zapros];?>';
$.post('formerovanie.php', getzaprosi, function(response) {

но проблемы на этом не закончились...
$_FILES - передачу надо сделать :) ужс...

Похожие темы (5)