<MyRusakov.ru />

Создание крупного проекта на Java с нуля

Создание крупного проекта на Java с нуля

Данный курс научит Вас создавать крупные проекты на Java грамотно и быстро. В курсе Вы увидите создание большой и сложной программы на Java абсолютно с нуля.

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

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

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Форум сайта MyRusakov.ru

Ограниченный вывод информации на сайте.
05.01.2012 21:12:43 Ограниченный вывод информации на сайте. Сообщение #1
sarcodin

sarcodin

Эксперт

Эксперт

Дата регистрации:
30.09.2011 00:53:49

Сообщений: 128

Возможно это глупая идея, но все же расскажу.
У меня на сайте вся информация (уроки, статьи, тексты) будет выводится с помощью цикла do while и функции printf.
Предположим у меня будет 1000 статей и они все выведутся на одно странице, но мне так не надо, как сделать так, чтобы на странице выводилось всего лишь по десять статей, и так на каждой последующей станице, а странице я с помощью HTML сделаю. Вот примерно такой код будет работать?


//Это соединение с базой и выборка из таблицы.
$db = mysql_connect("localhost","user","12345";
$result = mysql_select_db("site",$db);
$myrow = mysql_query("SELECT text FROM articles";
//Сам код.
$articles = printf
("
<div class='title_articles'>
%s</div>
<div class='text_articles'>
%s</div>
",$myrow["title"],$myrow["text"]);
//А вот условие для того чтобы он максим выводил 10 статей на сайте.
if($articles <= 10){

$articles ++;

};

Скажите будет ли он работать.
А вот еще нюанс, этот скрипт если будет работать, то он будет выводить на каждой странице по десять одинаковый статей. Как сделать так чтобы на каждой новой странице скрипт начинал выводить с той статьи на которой закончил, на предыдущей странице.
Если моя идея не возможна то подскажите как лучше сделать. Заранее спасибо.
Профиль Ответить
05.01.2012 21:16:37 Ограниченный вывод информации на сайте. Сообщение #2
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Ваша идея рабочая, но неоптимизированная. Почитайте эту статью: http://myrusakov.ru/sql-limit.html Вам же нужно выводить только те записи, которые нужны, а не вообще все. А чтобы на разных страницах были разные статьи, то надо использовать дополнительный параметр в GET. Допустим 1-я страница такой запрос: index.php, 2-я страница index.php?page=2, 3-я страница index.php?page=3 и так далее. Вы считываете значение page, и на основании этого задаёте смещение при выборке из базы.
Профиль Ответить
05.01.2012 21:24:15 Ограниченный вывод информации на сайте. Сообщение #3
sarcodin

sarcodin

Эксперт

Эксперт

Дата регистрации:
30.09.2011 00:53:49

Сообщений: 128

Немного не понял про лимит, вот вы указали первый код:

SELECT * FROM users WHERE id > 5 LIMIT 10

Что означает стрелочка и цифра пять.
Профиль Ответить
05.01.2012 21:29:38 Ограниченный вывод информации на сайте. Сообщение #4
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Если id больше 5
Профиль Ответить
05.01.2012 21:32:36 Ограниченный вывод информации на сайте. Сообщение #5
sarcodin

sarcodin

Эксперт

Эксперт

Дата регистрации:
30.09.2011 00:53:49

Сообщений: 128

а можно вот так написать

SELECT * FROM users WHERE id = "$id" limit 10
Профиль Ответить
05.01.2012 21:35:12 Ограниченный вывод информации на сайте. Сообщение #6
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Можно, но какой смысл?
Профиль Ответить
05.01.2012 21:38:37 Ограниченный вывод информации на сайте. Сообщение #7
sarcodin

sarcodin

Эксперт

Эксперт

Дата регистрации:
30.09.2011 00:53:49

Сообщений: 128

А что дает id < 5, я вот этого не могу понять.
Профиль Ответить
05.01.2012 21:40:52 Ограниченный вывод информации на сайте. Сообщение #8
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Это для примера, можете вообще не писать ничего про id.
Профиль Ответить
05.01.2012 21:45:51 Ограниченный вывод информации на сайте. Сообщение #9
sarcodin

sarcodin

Эксперт

Эксперт

Дата регистрации:
30.09.2011 00:53:49

Сообщений: 128

Все я понял можно сделать на каждой странице вот такой запрос:

//Первая страница
SELECT * FROM users WHERE limit 10
//Вторая страница
SELECT * FROM users WHERE limit 10,20
//Третья страница
SELECT * FROM users WHERE limit 20,30
и.т.д.

Можно так?
Профиль Ответить
05.01.2012 21:51:03 Ограниченный вывод информации на сайте. Сообщение #10
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Нет, второе число - это количество, оно всегда постоянное, а вот первое - это смещение. Задавайте всегда только смещение, а уже затем через цикл, как Вы и хотели, выводите всегда первых 10 записей.
Профиль Ответить