Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 627
от 06.04.2007, 17:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 422, Экспертов: 59
В номере:Вопросов: 1, Ответов: 2


Вопрос № 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
Комментарий оценки:
Спасибо. Подумаю над Вашими словами.


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.47 от 06.04.2007
Яндекс Rambler's Top100

В избранное