[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: вывод с бд без перезагрузки страницы
Mephistofel
Здравствуйте.
Подскажите как реализовать вывод информации из БД без перезагрузки страницы, например для вывода следующей страницы на сайте...



Спустя 2 минуты, 9 секунд (8.06.2012 - 00:21) Zzepish написал(а):
ajax не?

Спустя 3 минуты, 22 секунды (8.06.2012 - 00:24) Mephistofel написал(а):
пример можно?

Спустя 4 минуты, 55 секунд (8.06.2012 - 00:29) Zzepish написал(а):
http://codething.ru/ajax.php

Вот основа) а там- дело твоей фантазии) работай через onclick()

Спустя 10 минут, 45 секунд (8.06.2012 - 00:40) Mephistofel написал(а):
спасибо, буду пробовать, по результатам отпишу smile.gif

Спустя 2 дня, 11 часов, 35 минут, 51 секунда (10.06.2012 - 12:16) Mephistofel написал(а):
Решение:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<
html>
<
head>
<
meta http-equiv="content-type" content="text/html; charset=windows-1251">
<
script type="text/javascript" src="jquery-1.5.1.min.js"></script>
<
script type="text/javascript">
$(document).ready(function(){
$("#imgLoad").hide(); // Скрываем прелоадер
});

var num = 5; //чтобы знать с какой записи вытаскивать данные

$(function() {
$("#load div").click(function(){ // Выполняем если кликнули
document.getElementById('content').innerHTML = '';
$("#imgLoad").show(); // Показываем прелоадер

$.ajax({
url: "action.php", // Обработчик
type: "GET", // Отправляем методом GET
data: {"num": num},
cache: false,
success: function(response){
if(response == 0){
alert("Больше записей нет");
$("#imgLoad").hide();
}else{
$("#content").append(response);
num = num + 5;
$("#imgLoad").hide();
}
}
}
);
});
});
</
script>

<
title>Заголовок</title>
</
head>
<
body>

<
div id="content">
<?
php
include("connect.php");

$result = mysql_query("SELECT * FROM comment LIMIT 5",$db);
$comment = mysql_fetch_array($result);
$i = 1;
do{
printf("<div class='commentBlock'>
<div class='name'>%s. %s</div>
<
div class='text'>%s</div>
</
div>",$i,$comment['date'],$comment['text']);

$i++;

}while($comment = mysql_fetch_array($result));
?>

</
div>


<
div id="load">
<
div>еще</div>
<
img src="loading.gif" id="imgLoad">
</
div>

</
body>
</
html>


Содержание action.php:

<?php 
include("connect.php");
header("Content-type: text/html; charset=windows-1251");

if(isset($_GET['num'])){
$num = $_GET['num'];
$result = mysql_query("SELECT * FROM comment LIMIT $num, 5",$db);
if(mysql_num_rows($result) > 0){
$comment = mysql_fetch_array($result);

do{
$num++;
printf("
<div class='commentBlock'>
<div class='name'>%s. %s</div>
<div class='text'>%s</div>
</div> "
,$comment['date'],$comment['text']);
}while($comment = mysql_fetch_array($result));
sleep(1); // спим 1 сек
}else{
echo 0;
}
}

?>


Исходники прилагаются

Спустя 16 минут, 16 секунд (10.06.2012 - 12:32) inpost написал(а):
Плохое решение, потому что оно у тебя привязывается к библиотеке jQuery. Решать такие вещи надо на чистом JS.

Ах да, и весь код по Попову, ведь на форуме 5 месяцев, не ужели не было времени вылечиться?! smile.gif

Спустя 22 минуты, 3 секунды (10.06.2012 - 12:54) dadli написал(а):
inpost
Цитата
Плохое решение, потому что оно у тебя привязывается к библиотеке jQuery. Решать такие вещи надо на чистом JS.


скажите пожалуиста, почему jquery-ски ajax хуже, чем чисто javascript-ски ajax?

Спустя 16 минут, 14 секунд (10.06.2012 - 13:10) inpost написал(а):
dadli
jQuery - это одна из многих библиотек. Есть такие же и другие хорошие, почему их не брать?! Потому что в одном небольшом кругу программистов модно использовать jQuery? А завтра попадёшь в общество любителей MooTools ? ExtJS ? Prototype ? Что дальше делать будешь? Снова изучать новые функции, которые дублируют обычный функционал и занимают по объему столько же места...
Надо быть независимым от среды разработки, свободным в работе.

А представь, что завтра 5 человек, таких как ты решат объединиться и сделать сайт. На сайте будет один лишь только Аякс, и для него в начале будут подключены 5 библиотек дополнительных лишь потому, что люди не умеют пользоваться стандартными методами?

Спустя 59 минут, 13 секунд (10.06.2012 - 14:09) neadekvat написал(а):
inpost, почему это решение плохое, если оно для частного случая, и даже не для конкурса?

Я тут с пару месяцев назад писал чатик, который в свою очередь был завязан на большом количестве всякой фигни внутри системы. И если бы не jquery, писать мне его еще и писать.

Чистый js нереально понижает читабельность кода. Одно только document.getElementByID() вместо простого $('#') чего стоит.

Я не стану отрицать, что чистый js знать и понимать нужно. Но если есть возможность упростить себе жизнь - надо ею воспользоваться. И в задницу все пафосные высказывания. Быстро и просто - это ориентир всегда.

Спустя 4 минуты, 8 секунд (10.06.2012 - 14:14) Zzepish написал(а):
inpost
чес слово- пытался освоить. Плюнул, и забил.
Мне проще аякс понять по кускам кода, чем джаваскрипт по ученикам :\

Спустя 1 час, 16 минут, 46 секунд (10.06.2012 - 15:30) vagrand написал(а):
inpost
Имхо ты совершенно не прав.

Цитата
А завтра попадёшь в общество любителей MooTools ? ExtJS ? Prototype ? Что дальше делать будешь?


Если речь идет о трудоустройстве в компанию где программят на ExtJS, а сам ты знаешь JQuery, то да, придется изучать ExtJS, то его так же придется изучать если ты не знаеш JQuery, а занеш только голый JS. Я даже больше скажу, что если у тебя в резюме не значится знание JQuery, то скорее всего тебя не возьмут на работу.

Ну и потом имхо полный бред писать с нуля то, что уже кто-то написал и написал хорошо, тем более если ты пишешь не для того что бы узнать как это написано, а выполняешь проект на который отведены реальные сроки.

Что же касается подключения нескольких файлов, то:
1. Как правило JS библиотеки поставляются в виде без пробелов и переносов строк, что уменьшает их размер;
2. При отдаче клиенту этих файлов их можно отдавать в сжатом виде, например через deflate;
3. Их можно закешировать на стороне клиента.
Так что имхо в реальных проектах писать на голом JS не только не лучше но даже и хуже.


Спустя 4 часа, 5 минут, 33 секунды (10.06.2012 - 19:36) inpost написал(а):
vagrand neadekvat
Вы не поняли одной самой банальной темы, я показывал уже.
7 строк кода на jQuery против 8 строк кода на JS. Это не тот случай, где необходимо использовать jquery. Я уважаю jQuery и сам его использую в проектах, но надо использовать подходы там, где они реально нужны и актуальны! Я назвал разницу в 1 строчку, а это строчка была как раз указателем "явной кодировки", вот и всё. В итоге мы получаем абсолютно одинаковый на выходе код что по объему, что по трудности написания. Если нет разницы, то надо использовать JS.

Спустя 1 час, 30 минут, 56 секунд (10.06.2012 - 21:07) Mephistofel написал(а):
Цитата (inpost @ 10.06.2012 - 09:32)
Плохое решение, потому что оно у тебя привязывается к библиотеке jQuery. Решать такие вещи надо на чистом JS.

Ах да, и весь код по Попову, ведь на форуме 5 месяцев, не ужели не было времени вылечиться?! smile.gif

Весь код по Попову потому, что начинал учиться по Попову smile.gif
Есть моменты и частенько, где его учения сказываются в негативном плане, конечно.
Переучиваюсь понимногу... smile.gif
Спасибо всем за комменты.

P.S. Как по мне, так jQuery легче чем JS, я не профи в программировании, потому и иду по пути найменьшего сопротивления smile.gif

Спустя 16 минут, 23 секунды (10.06.2012 - 21:23) inpost написал(а):
Mephistofel
Те же 7-8 строк, единственная разница в том, что на сайте Попова есть документация, а по чистому JS искать надо и гуглить дольше?! smile.gif
Ну да, ну да... только как программистом стать, если ленивый?

И вообще, от Попова исправлять надо, ссылка же есть в моей подписи, почитай...

Спустя 1 день, 2 часа, 44 минуты, 18 секунд (12.06.2012 - 00:08) Mephistofel написал(а):
inpost спасибо, прочту.

Спустя 2 дня, 22 часа, 32 минуты, 37 секунд (14.06.2012 - 22:40) Mephistofel написал(а):
дааа, прочел... п&#$ец просто smile.gif

Спустя 2 минуты, 14 секунд (14.06.2012 - 22:42) inpost написал(а):
Mephistofel
И это только поверхностные ошибки.

Спустя 20 минут, 19 секунд (14.06.2012 - 23:03) Mephistofel написал(а):
блин, посоветуйте пожалуйста литературу хорошую по php msql

Спустя 9 минут, 30 секунд (14.06.2012 - 23:12) Invis1ble написал(а):
Mephistofel
Цитата
посоветуйте пожалуйста литературу хорошую по php msql

100500 раз обсуждалась эта тема на форуме, сейчас опять начнется
поищи через поиск

Спустя 5 минут (14.06.2012 - 23:17) Mephistofel написал(а):

Спустя 19 минут, 8 секунд (14.06.2012 - 23:36) Invis1ble написал(а):
Mephistofel
в том топике могу поддержать коммент от inpost'а. Я б тоже самое примерно написал бы тебе сейчас, но уже надоело по 10 раз одно и тоже писать smile.gif

Спустя 9 минут, 28 секунд (14.06.2012 - 23:46) Mephistofel написал(а):
понимаю smile.gif

Спустя 1 месяц, 17 дней, 17 часов, 42 минуты, 36 секунд (2.08.2012 - 17:28) Mephistofel написал(а):
есть проблема с этой авторизацией в админке, при добавлении статьи в бд - нужно заново логиниться, как это можно исправить?

Спустя 23 часа, 4 минуты, 8 секунд (3.08.2012 - 16:33) DarkLynx написал(а):
Цитата (Mephistofel @ 2.08.2012 - 15:28)
есть проблема с этой авторизацией в админке, при добавлении статьи в бд - нужно заново логиниться, как это можно исправить?

сессии...
Быстрый ответ:

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