Вопрос № 162488: Здравствуйте господа эксперты. Продолжу прошлый мой вопрос: "Есть главная страница (index.htm) и (news.htm). В странице новостей есть несколько новостей (5 например), как можно сделать с помощью PHP чтобы на главной странице отображалось количес...
Вопрос № 162505: Добрый день господа эксперты. Как с помощью средств PHP можно сделать следующее: на странице есть панелька с рисунками, в ней (панель) есть 2 картинки. Как
можно сделать чтобы при каждом обновлении браузера эти картинки менялись на другие из папки im...Вопрос № 162534: Здравствуйте господа эксперты. Вновь буду Вас спрашивать. Продолжу прошлый мой вопрос: "Есть главная страница (index.htm) и (news.htm). В странице news есть несколько новостей (5 например), как можно сделать с помощью PHP чтобы на главной страни...
Вопрос № 162.488
Здравствуйте господа эксперты. Продолжу прошлый мой вопрос: "Есть главная страница (index.htm) и (news.htm). В странице новостей есть несколько новостей (5 например), как можно сделать с помощью PHP чтобы на главной странице отображалось количество новостей, а не таже информация из страницы новостей.". Только сейчас меня волнует следующее: Можно ли сделать отдельный файл в котором будут храниться новости, потом в файле news.htm будет считывать новости из файла с информацией, но изначально в себе эти
новости в себе он не содержит. Потом в свою очередь файл index.htm будет считывать из файла news.htm количество новостей. Как бы получается, что index.htm считывает информацию из news.htm, но сам по себе news.htm пустой и считывает инфу из отдельного файла. Да чуть не забыл, в чем преимущество испльзования баз данных по сравнению с файлами txt. Заранее вам благодарен.
Легко. Скажем новости храните в файле news.data, разделяя каждую каким-то разделителем, пусть что-то вроде "================NEWS================". Тогда в файле news.htm не проблема отобразить их количество: <p>Количество новостей: <?= count(explode('================NEWS================', file_get_contenst('news.data')))?>
Ну а выводите тоже стандартно, согласно Вашей HTML-разметке, по одной или сразу все, предположим
так: <h2>Наши новости:</h2> <p class="news"><?= implode('<p class="news">', explode('================NEWS================', file_get_contenst('news.data')))?></p>
Если все на одной странице, то лучше не читать файл каждый раз, а поместить массив новостей в переменную и использовать его: $news = explode('================NEWS================', file_get_contenst('news.data
'));
Ответ отправил: Hubbitus (статус: 4-й класс)
Ответ отправлен: 16.03.2009, 15:59
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 245429 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5 Комментарий оценки: Спасибо вам большое. Если можно было бы - то поставил бы больше. :)
Отвечает: Jan
Здравствуйте, Уманский Денис!
На первую часть вопроса вам ответили, я отвечу на вторую. 1. Базы данных избавляют пользователя от проблем с чтением файлов и их "парсингом" то есть то, что в вашем случе делают функции explode(), implode(). 2. Базы данных реализованы таким образом чтоб скорость получения данных и их запись были быстрее чем обычный доступ к файлам, особенно если их разбирать программно на PHP. 3. Вам очень скоро при увеличении количества новостей понадобится сортировать
их по дате, возможно, по размеру, и т. д. И соответственно у вас появится очередной вопрос связанный с реализацией такого разбора текстового файла! Базы данных же предлагают такие механизмы, и разумеется работать они будут значительно быстрее. 4. Пример: Вам нужно отобразить одну случайную новость, разумно ли будет загружать и разбирать весь файл новостей? 5. Меньше писать кода на PHP для работы с базой данных, по сравнению с обработкой файлов. .......
Есл
и же нет возможности использования баз данных, то предлагаю, каждую новость сохранять в отдельном файле, тогда и количество новостей будет проще узнать, всего лишь посмотрев количество файлов в соответствующей папке. ;)
Ответ отправил: Jan (статус: 5-й класс)
Ответ отправлен: 16.03.2009, 21:06
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 245469 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5 Комментарий оценки: Спасибо вам огромное! А не могли бы Вы привести такойже пример только с использованием баз данных? Заранее благодарю.
Вопрос № 162.505
Добрый день господа эксперты. Как с помощью средств PHP можно сделать следующее: на странице есть панелька с рисунками, в ней (панель) есть 2 картинки. Как можно сделать чтобы при каждом обновлении браузера эти картинки менялись на другие из папки imege, в которой 10 картинок. Всем кто поможет поставлю высокие оценки. Заранее вам благодарен.
$bgcolor_RW="#badbad"; // Цвет фона таблицы $border_RW="1"; // 0/1 - есть бордюр/нет бордюра :-) $brdcolor_RW="#2F4F0B"; // Цвет бордюра таблицы $width_RW="100%"; // ширина этого добра $height_RW="14"; // высота строки $fontcolor_RW="#000D37"; // Цвет текста $align_RW="center"; // местоположение текста //****** Ниже ничего не рекомендую менять ваще *********//
$lines
= file("file/database.dat"); //файл с адресами картинок... $itogo=count($lines)-1; srand((double) microtime()*1000000); $i=rand(0,$itogo); // выбираем случайное число (0...MAX) $dt=explode("|", $lines[$i]);
Ответ отправил: Wolfmen (статус: 1-й класс)
Ответ отправлен: 16.03.2009, 16:23
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 245431 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5 Комментарий оценки: Спасибо вам большое.
Отвечает: Hubbitus
Здравствуйте, Уманский Денис! Функцию можете вынести в отдельный файл, можете в том же, как в примере. Ну и директорию я использую image вмсто imege все-таки. Если принципиально, думаю не будет проблемой понять что и где исправить...
Приложение:
Ответ отправил: Hubbitus (статус: 4-й класс)
Ответ отправлен: 16.03.2009, 16:43
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 245434 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5 Комментарий оценки: Спасибо большое.
Отвечает: BahuL
Здравствуйте, Уманский Денис!
Суть проста. Мы считываем файлы из предполагаемой папки с картинками и если находим картинки, добавляем их в массив. Потом если в массиве присутствуют элементы (картинки в папке были найдены) то выбираем две разных друг от друга случайные картинки и выводим их в код страницы. В данном случае достаточно просто заливать картинки в папку. База данных для этого не нужна
Приложение:
Ответ отправил: BahuL (статус: 3-й класс)
Ответ отправлен: 16.03.2009, 16:50
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 245435 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5 Комментарий оценки: Спасибо большое. 5-ка как и обещал.
Вопрос № 162.534
Здравствуйте господа эксперты. Вновь буду Вас спрашивать. Продолжу прошлый мой вопрос: "Есть главная страница (index.htm) и (news.htm). В странице news есть несколько новостей (5 например), как можно сделать с помощью PHP чтобы на главной странице отображалось количество новостей, а не таже информация из страницы новостей.". Только сейчас меня волнует следующее: Приведите мне пример реализации моего вопроса с помощью баз данных. Как бы получается, что index.htm считывает информацию из news.htm, но
сам по себе news.htm пустой и считывает инфу из отдельного файла. Да чуть не забыл, опишите все детальнее, как можно больше деталей!!! Кто откликнется - ставлю высокую оценку. Заранее вам благодарен.
Отвечает: Hubbitus
Здравствуйте, Уманский Денис! Вам же в предыдущем вопросе ( http://rusfaq.ru/info/question/162488 ) Jan в последнем ответе караз привел примеры и объясил как работать с базой, азы.
А вообще, если Вы спрашиваете такие вопросы, то рекомендую почитать неплохой, а главное очень понятный учебник Курепина http://kurepin.ru/php/ там именно пошагово разбирается как работать с базой, как писать Классы, как подключаться и работать с Базой Данных.
Ответ отправил: Hubbitus (статус: 4-й класс)
Ответ отправлен: 16.03.2009, 22:47
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 245474 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5 Комментарий оценки: Спасибо Вам. Просто эксперт Jan неуспел ответить в том предыдущем вопросе до того как я уже задал этот.
Скажите "спасибо" эксперту, который помог Вам!
Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
на короткий номер 1151 (Россия)
Номер ответа и конкретный текст СМС указан внизу каждого ответа.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.