[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Обновление блока
Зарегестрирований
Как можна реализовать обновление определенного блока после какого то события?
Вот например кликаю я на блок с текстом "кликни" и у меня обновляется блок с Выборкой с базы данных.
Возможна реализация на AJAX или же нужно с jQuery общаться?
Впринцыпе два варианта подходят laugh.gif
И если можно то примерчик wink.gif



Спустя 9 минут, 56 секунд (2.07.2011 - 17:40) quickxyan написал(а):
ну можно использовать аякс в jquery, а можно и просто аякс без jquery.
с jquery - проще

Спустя 8 секунд (2.07.2011 - 17:40) ИНСИ написал(а):
Цитата
Впринцыпе два варианта подходят

Верно подметил :)

На jquery делается просто:
$(function() {
$('#divId').click(function() {
$('#divBlock').load('file.php');
return false;
});
})


А на ajax, советую почитать тут: http://irbis-team.com/15/13/1

И еще пример:

          $.ajax({
type: 'POST', // Метод POST
url: 'file.php', // Отправляем данные скрипту
data: 'id=10', // Отправляем переменные
success: function(data) {
alert(data); // data содержит ответ :)
}
}
);

Спустя 8 минут, 5 секунд (2.07.2011 - 17:48) Зарегестрирований написал(а):
Цитата (velbox @ 2.07.2011 - 14:40)
На jquery делается просто:

ага вот тут то я и запнулся у меня обновление не с файла должно быть а именно единого блока

или тогда легче поместить выборку с БД в отдельный файл а затем вызывать его когда нужно ?

Спустя 21 минута (2.07.2011 - 18:09) ИНСИ написал(а):
Цитата
ага вот тут то я и запнулся у меня обновление не с файла должно быть а именно единого блока

или тогда легче поместить выборку с БД в отдельный файл а затем вызывать его когда нужно ?

Смотря, что именно ты делаешь. Под определенную ситуацию, нужно делать определенный код ....

Спустя 41 минута, 32 секунды (2.07.2011 - 18:51) Зарегестрирований написал(а):
ну вот к примеру:
есть блок предположим
<div id="content">
//в нем выборка с бд заключенная в цикл

while ($resulta = mysql_fetch_assoc($novosti))
{
?> <div class="ntitle" id="ntitle"> <? print ('<p>'.$resulta['title'].'<br></p>');?>
<div><? echo "<p><br/><a href=\"http://mfns.forsite.org/index.php?delete={$resulta['id']}\">"?> DELETE <?"</a></p>\n"; ?></div></div> <?
?>
<div class="ntext" id="ntext"> <? print ('<p>'.$resulta['text'].'<br></p>');?> </div> <?
}
</div>


И вот нужно что бы при клике на кнопку(не важно на какую) ,обновлялся цикл.
Хорошо бы знать как это осуществить. :)

Спустя 2 часа, 33 минуты, 54 секунды (2.07.2011 - 21:25) ИНСИ написал(а):
Просто как пример, то можно так:
<script>
function loadNews() {
$.ajax({
type: 'POST', // Метод POST
url: 'getNews.php', // Отправляем данные скрипту
data: 'id=10', // Отправляем переменные, вдруг тебе потом понадобиться передавать переменные
success: function(data) {
$('#news').html(data);
}
}
);
}
</script>


<div id="news"><script>loadNews();</script></div>
<div
style="cursor: pointer;" onclick="loadNews();">Обновить новости</div>


а в файле getNews.php, можешь уже сделать цикл, который выводит сообщения, к примеру так:
$rows = mysql_query("
SELECT *
FROM `new`
ORDER BY `id` DESC
"
);

if(mysql_num_rows($rows) > 0) {
while($data = mysql_fetch_assoc($rows)) {
echo '
<div class="ntitle" id="ntitle">
<p>'
.$data['title'].'<br></p>
<div><p><br/><a href="http://mfns.forsite.org/index.php?delete='
.$data['id'].'">DELETE</a></p></div>
</div>
<div class="ntext" id="ntext">
<p>'
.$data['text'].'<br></p>
</div>
'
;
}
}
else {
echo 'Нет новостей';
}


Вообще, можно было бы через json все сделать, но думаю тебе пока это понять, будет сложно, учись с малого :)

Спустя 1 час, 12 минут, 21 секунда (2.07.2011 - 22:37) Зарегестрирований написал(а):
Спасибо.
Вот написал протестил ,захожу а тут ответ biggrin.gif
Кстате я написал точно так же кроме некоторых аспектов.
теперь пытаюсь на ту же страницу повесить чат с такой же системой ,но видимо два запроса $.ajax не работают.
А вообще возможно через jQuery выполнять сразу два обращения $.ajax ?

Спустя 37 минут (2.07.2011 - 23:14) ИНСИ написал(а):
Цитата
А вообще возможно через jQuery выполнять сразу два обращения $.ajax ?

В смысле?

Спустя 7 часов, 9 минут, 52 секунды (3.07.2011 - 06:24) Зарегестрирований написал(а):
в прямом

function refresh_chatbox() {
var data = 'refresh=1';

$.ajax({
type: "post",
url: "chat.php",
data: data,
success: function(html){
$("#chat_text").html(html);
}
}
);
}
//первый запрос
setInterval("refresh_chatbox()", 1000);

//а вот сразу за ним идет такая функция ,такая же.

function refresh_news_div() {
var data = 'refresh=1';

$.ajax({
type: "POST",
url: "content.php",
data: data,
success: function(html){
$("#refreshed_block").html(html);
}
}
);
}


setInterval("refresh_news_div()", 5000);

ту что рассположить последней та вылетает из кода и выполняется только первая

Спустя 9 часов, 4 минуты, 52 секунды (3.07.2011 - 15:29) ИНСИ написал(а):
Цитата
success: function(html){
$("#refreshed_block").html(html);
}

Попробуй заменить на
success: function(data){
$("#refreshed_block").html(data);
}

и это соответственно:
success: function(data){ 
$("#chat_text").html(data);
}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.