Мне бы реально работающий простой пример...
AJAX подгрузка данных.
#21
Отправлено 23 Июль 2014 - 11:26
Мне бы реально работающий простой пример...
#22
Отправлено 23 Июль 2014 - 11:27
Цитата
Неверно, в обоих вариантах, т.к. у вас выводится только один $x, а не все нужные строки. Если вам нужно передать массив, используйте JSON, он преобразует массив в строку, или свой вариант (хотя JSON наиболее удобен). Подробнее читайте в инете, там полно примеров по аяксу.
#23
Отправлено 23 Июль 2014 - 11:29
#24
Отправлено 23 Июль 2014 - 11:34
Цитата
Где именно не отображается? Я же написал, что аякс - это скрытый запрос, каким образом то вы его увидеть то собрались? Еще раз: результат должна обрабатывать функция, которую вы задали в параметрах отправки запроса из JS, а уже она может вывести данные или вставить их в код страницы, или вообще как-то скрыто обработать, без всякого явного вывода.
#25
Отправлено 23 Июль 2014 - 11:51
#26
Отправлено 23 Июль 2014 - 12:16
Выполняем запрос к БД:
if ($_REQUEST['ajax'] == 1) {
$sqlQuery = "SELECT f2640 as test FROM ".DATA_TABLE."210 ORDER BY add_time DESC LIMIT 1";
$result = mysql_query($sqlQuery);
while ($row = sql_fetch_array($result))
{
$x = $row['test'];
}
echo $x;
exit;
}
И дальше запускаем функцию:
<script>
function show_data() {
$.ajax({
dataType: "html",
url: "http://clientbase.local/report.php?id=460&ajax=1",
type: "post",
success: function(html){
$("#div_data").html(" КАК СЮДА ВСТАВИТЬ ДАННЫЕ КОТОРЫЕ ВОЗВРАЩАЕТ ЗАПРОС");
}
});
}
var timeInt=3000;
show_data();
setInterval('show_data()',timeInt);
</script>
<div id="div_data"></div>
Вопрос!!! Как вернуть данные с запроса????
#27
Отправлено 23 Июль 2014 - 12:37
$result = mysql_query($sqlQuery);
while ($row = sql_fetch_array($result))
{
$x = $row['test'];
}
echo $x;
exit;
}
Уже спрашивал вас: какой смысл прогонять запрос циклом по строкам, если выводите только значение из последней строки (т.к. остальные просто перезаписываются)? Для теста это конечно пойдет (хоть какой-то вывод), но смысл? С тем же успехом можно вывести просто echo "test" для примера.
Цитата
Смотрим сюда. В вашем примере соответственно, все данные лежат в переменной html (т.к. именно она указана аргументом в функции, вставленной в sucess). Далее, функция в этом же примере вставляет некий текст в некий элемент на странице с id="div_data". Если вам нужно вставить туда именно ваш результат, соответственно заменяете это текст на переменную html. В реальности, код в этой функции может быть какой угодно (какой сами захотите), не обязательно такой как в примере, это самый простой вариант можно сказать. Например, вначале может потребоваться как-то обработать результат.
#28
Отправлено 23 Июль 2014 - 12:44
#29
Отправлено 23 Июль 2014 - 12:48
#30
Отправлено 23 Июль 2014 - 12:49
#31
Отправлено 23 Июль 2014 - 12:50
Цитата
Ну так я вас предупреждал что тут не все так просто. Если вы не профессиональный программист, то вам вообще лучше не лезть в эту область. Программисты то не сразу все понимают.
#33
Отправлено 23 Июль 2014 - 12:54
if ($_REQUEST['ajax'] == 1) {
$sqlQuery = "SELECT f2640 as test FROM ".DATA_TABLE."210 ORDER BY add_time DESC LIMIT 10";
$result = mysql_query($sqlQuery);
while ($row = sql_fetch_array($result))
{
$x = $row['test'];
echo $x."<br>";
}
exit;
}
Теперь у меня как раз выводится 10 последних записей из таблицы.
Еще раз благодарю Вас. Надо побольше проникнуться этой темой!
#34
Отправлено 28 Июль 2014 - 10:16
#35
Отправлено 28 Июль 2014 - 14:35
#36
Отправлено 30 Июль 2014 - 05:50
Получается что мы по запросу возвращаем 10 крайних записей в БД. Каждый раз. Но, новых из них бывает не больше 3х.
Получается мы как-то должны сравнить запись которая возвращается с запроса и существующую запись. И вывести то что новое... ))) Так?
#37
Отправлено 30 Июль 2014 - 09:27
#38
Отправлено 30 Июль 2014 - 09:40
0. Объявили q=0.
1. Дали запрос, открыли цикл с 10 шагами.
2. Получили новый ответ и сравнили каждую строку ответа с первой текущей строкой.
3. Присвоили q=++.
4. Если найдено совпадение - то вышли из цикла.
5. Удалили в новом ответе 10-q нижних строк и присвоили стиль
6. Удалили в текущем ответе первые q строк
7. Сложили ответы
8. Вывели.
#39
Отправлено 30 Июль 2014 - 10:23
Как альтернатива кстати, можно в запросе на аякс задавать маркер, по которому отбирать не 10 последних записей, а только свежие. Тогда и сверять ничего не надо. И это больше соответствует идеологии аякса, по которому мы запрашиваем только те данные, которые нам нужны и которые необходимы для обновления, не меняя при этом то что остается неизменным.
#40
Отправлено 30 Июль 2014 - 18:39
Количество пользователей, читающих эту тему: 5
0 пользователей, 5 гостей, 0 анонимных














