Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Подгрузка данных БД AJAX'ом
Есть ожно НО, кнопка (Показать еще 5 записей) висит всегда! Это плохо!
Хотелось бы.. при заходе на страницу пользователя, (может $get методом) автоматом узнавать количество записей в бд (по mail, COUNT(id)), а после этого Давать добро на показ 1го ДИВА (Показать еще 5). Примечание: на каждой странице пользователя есть свой id, ($_GET['id']), отсюда толкаться?
Т.е, если сообщений меньше 5, див не показываем, > 5 даем добро.. и так далее.
----- То что программа работает, не означает что она написана правильно!
LIME
Отправлено: 03 Августа, 2012 - 17:26:50
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
KingStar это что было?
зачем лишний запрос?
а если даже оставить 1ый запрос почему не COUNT(*) ?
EuGen
Отправлено: 03 Августа, 2012 - 17:28:24
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
maragon пишет:
Насчет логики так и думал.. в js не силен, каким методом отправлять клиену?
Ну так добавьте параметр offset (смещение) в Ваш ajax-запрос. И проверяйте при очередном запросе, не достигли ли Вы уже конца записей (для этого COUNT из sql Вам нужно записать в переменную, как я писал выше). Если достигли - то убаляйте из DOM элемент, содержащий Вашу ссылку на загрузку записей. Ну и offset увеличивайте в js при запросе.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
KingStar
Отправлено: 03 Августа, 2012 - 17:38:42
Участник
Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011 Откуда: Беларусь
Помог: 69 раз(а)
хотя глупость написал... к вечеру голова не варит
как у тебя вообще выборка первых записей проходит??? или при заходе пустая страница, и только после клика появляются записи???
----- То что программа работает, не означает что она написана правильно!
maragon
Отправлено: 03 Августа, 2012 - 17:54:17
Посетитель
Покинул форум
Сообщений всего: 340
Дата рег-ции: Февр. 2011
Помог: 2 раз(а)
KingStar пишет:
хотя глупость написал... к вечеру голова не варит
как у тебя вообще выборка первых записей проходит??? или при заходе пустая страница, и только после клика появляются записи???
Было так, что заходишь - пусто.. жмешь - вылезает.
Переделал чуток - выдераю по $_GET['id'] на странице юзера. (У каждого свой ид, вот и дергаю)
Не могу разобраться с отправкой COUNT в js, курю книжки..
$('#bigblock').append(data);//Выводим на экран данные из бд
}
if(count_all >=5){
$("#showme").show();//Показываем кнопку (показать еще 5)
var showmore = count_all +5;
alert(showmore);// Почему-то 75 пишет..
//... по логике дальше пока не понимаю
}
}
});
</script>
<div id="showme">Показать еще 5 записей</div>
<div id="bigblock"></div>
Ткните.. может не туда копал? (Добавление)
А Вариант ли сделать так:
Сначало узнаем количество сообщений скажем в файле allcount.php
После передаем ajaxу количество
Если > 0
Дергаем второй файл msgs.php с контентом
- но вопрос стает боком, про вывод по 5 смс..
(Или все манипуляции возможно делать в 1м файле?)
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.