Вопрос № 80576: Здравствуйте, коллеги. Это снова я.
Сегодня вопрос уже не про линеечки, посерьезней ))) Я создаю новый сайт. Он, естественно, будет на php.
И вот мои вопросы:
1. Ссылки будут вида <b>index.php?menu=tralyalya&podmenu=vsyakoe</B>...
Вопрос № 80.576
Здравствуйте, коллеги. Это снова я.
Сегодня вопрос уже не про линеечки, посерьезней ))) Я создаю новый сайт. Он, естественно, будет на php.
И вот мои вопросы:
1. Ссылки будут вида index.php?menu=tralyalya&podmenu=vsyakoe. Как при таком организовать блок "Последние tralyalya сайта"? А также "Лучшее" (т. е. наиболее кликабельное)?
Базами данных пользоваться не умею (не пользуюсь). Если то что я попросила можно как-то осуществить через БД, прошу сообщить.
Заранее спасибо!
P. S. Не отправляйте меня "Учи mysql". Тогда уж на конкретные функции отсылайте.
Отправлен: 01.04.2007, 17:34
Вопрос задала: Angel7 (статус: Практикант)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Евгений Крюков
Здравствуйте, Angel7!
Вопрос в целях. Если Вам надо просто сделать сайт, тогда зачем писать с нуля движок? Ведь то, что Вы хотите (а заодно, и то, что Вы можете захотеть ) уже давным-давно реализовано на свободных движках типа Joomla. Найдите российскую сборку (например, на joomla.ru), поставьте и начинайте работать с сайтом, "Лучшее" и "Последнее" там точно есть. НО если у Вас цель: научиться писать движки - тогда "учи Mysql". Причем. всё достаточно просто - представьте себе таблицу, в которой хранятся
статьи сайта. Для "Последнего" добавляем в столбцы дату публикации и по запросу выбираем из таблицы допустим 5 статей, отсортированных по времени. А для "Лучшего" добавляем в эту таблицу столбец, где будет храниться число кликов пользователей, и при каждом вызове статьи увеличиваем это значение на 1. В этом случае, при вызове этого пункта, выбираем из таблицы 5 записей отсортированных по максимальному количеству просмотров.
Допустим, таблица со статьями (назовем её CONTENT_TABLE) у нас такого вида:
ID - код статьи,
CONTENT_TITLE - название статьи,
CONTENT - содержание в HTML,
DATE_PUB - дата публикации,
NUM_VIEW - кол-во просмотров.
тогда заголовки "Последнего" можно вытащить так:
SELECT ID, CONTENT_TITLE FROM CONTENT_TABLE ORDER BY DATE_PUB DESC LIMIT 5
переводится это так: "Выбрать(SELECT) из таблицы(FROM) CONTENT_TABLE код статьи и заголовок статьи отсортированные (ORDER BY) по дате публикации по убыванию (DESC) и взять таких строк 5 (LIMIT).
заголовки "Лучшего"
SELECT ID, CONTENT_TITLE FROM CONTENT_TABLE ORDER BY NUM_VIEW DESC LIMIT 5
что аналогично предыдущему, только сортируем мы по кол-ву просмотров.
--------- Большинство ответов на вопросы в рассылках находится через Яндекс за 1 мин.
Ответ отправил: Евгений Крюков (статус: Практикант)
Ответ отправлен: 02.04.2007, 01:32 Оценка за ответ: 5 Комментарий оценки: Большое спасибо! Я не хочу ставить CMS - она у меня уже была... Хотя... Подумаю еще над этим. Вот только еще очень бы хотелось, чтобы вы привели в мини-форуме код "и при каждом вызове статьи увеличиваем это значение на 1". Все остальное более-менее понятно. Еще раз спасибо!
Отвечает: Nexus
Здравствуйте, Angel7!
Судя по тому, какой вопрос был задан механизм хранения статей уже придуман, и хранятся они не в базе - если этот вариант тебе подходит (или уже реализован?), то базу можно и не создавать. На самом деле, нет никакой разницы где хранить эту информацию - в базе или в текстовом файле. С базой будет удобнее работать, но если нет времени/желания на изучение баз данных, то можно обойтись и без них - в данном случае (если брать ТОЛЬКО статистику и не рассматривать движок вцелом) база - это будет одна таблица, которую
можно с тем же успехом хранить в csv файле: id статьи(или название файла со статьей, смотря как будет организованан навигация в движке), количество запросов, таймштамп последнего из них. Далее это все вытаскивается в массив, который сортируется по нужным полям.
К вопросу о "конкретных функциях" - думаю сначала тебе нужно почитать что-нибудь именно по теории баз данных, потом по SQL, а только потом уже рассматривать конкретную СУБД (тот же MySQL) и функции php для работы с ним, потому что научится пользоваться функциями просто - главное научится нормально проектировать базу.
Ответ отправил: Nexus (статус: 6-ой класс)
Ответ отправлен: 02.04.2007, 02:23 Оценка за ответ: 4 Комментарий оценки: Спасибо. Подумаю над Вашими словами.