0 Сообщения: 68 Зарегистрирован: 23.09.01 Откуда: Москва
Заголовок сообщения: Помогите с архивом нвоостей... Добавлено: 22 Ноябрь 2004, 15:59:26
У меня есть php скрипт новостей, с базой "news.txt"
Все новости представлены построчно, а строки разбиты на символы "^^"
Нужно сделать вывод 10 новостей а затем архив по типу:
Архив: 10 новостей, 20 новостей, 30 новостей … и тд.
Где 10 новостей является ссылкой на страницу с 10 новостями из архива. Потом 20 новостей с последующими 20 новостями и тд.
Новости я вывожу, разбивая в файле "news.txt" строки на массивы. Потом каждый массив разбивается через explode на части (дата, тема, новость) с помощью "^^".
А вот как разбить новости по выводу 10 на страницу?
Я пока только могу сделать вывод через for($i=0;$i<10;$i++) {
Но в таком случае я вижу только первые 10. А как следующую десятку вывести?
Понятно что надо пинать for($i=0;$i<10;$i++) { но не подскажете как?
0 Сообщения: 864 Зарегистрирован: 29.11.03 Откуда: д. Черемас
Добавлено: 22 Ноябрь 2004, 16:44:25
Вводишь переменную $skip и в зависимости от неё потом for($i=$all-$skip.. ..).
Совет: вместо implode/explode лучше использовать serialize/unserialize, если уж работаешь в с файлами.
Совет: вместо implode/explode лучше использовать serialize/unserialize, если уж работаешь в с файлами.
Это дурной совет. Почитать никогда не вредно, а вот применять в данном случае - не надо.
Цитата:
Понятно что надо пинать for($i=0;$i<10;$i++) { но не подскажете как?
Очень просто.
Понять, что делает этот оператор.
вообще, понимание того, что ты делаешь, обычно очень способствует успешному решению проблем.
Данный оператор устанавливает сначала $i в ноль.
Потом проверяет условие $i<10. Если оно истинно, то исполняется код, заключенный внутри фигурных скобок.
После этого $i увеличивается на единицу (это делает код $i++).
Далее снова проверяется условие и так далее, пока условие не вернет ложь. тогда цикл прервется, и программа продолжит свое выполнение дальше.
Скорее всего, ты используешь переменную $i в своем скрипте. чтобы выводить элемент массива с индексами от 0 до 0 - так?
Значит, чтобы вывести элементы массива с 10 по 19, то $i надо присвоить какое начальное значение вместо нуля?
А условие проверки какое поставить?
аналогию видишь?
Если выводить надо с нуля, то $i равно нулю. А если выводить с 10, то $i чему равно?
Если выводить надо до тех пор, пока $i меньше 10, то пишется $i < 10. А если надо выводить, пока $i меньше 19, то что надо написать в условии?
кстати, специально для тебя написан "Самоучитель PHP" - http://www.php5.ru/study/ Там как раз объясняются основы программирования, именно простого, а не только под веб, хотя это там тоже есть.
Кстати, а ты выводишь новости, начиная с самой старой?
0 Сообщения: 68 Зарегистрирован: 23.09.01 Откуда: Москва
Добавлено: 22 Ноябрь 2004, 20:34:21
Я могу вывести все, и самую старую или же только определённое число. Начиная с самой новой и по убыванию.
Спасибки за ссылку будем читать... Но пока решения я найти не могу.
Как это - не можешь?
ты спрашивал - как тебе следующу десятку вывести . Я ж тебе подробно описал.
Ты точно прочёл?
Зачем решение искать, если оно тебе подробно описано?
может быть, ты что-то не понял из моих слов?
Тогда что именно?
И в чем тогда твоя проблема?
0 Сообщения: 68 Зарегистрирован: 23.09.01 Откуда: Москва
Добавлено: 22 Ноябрь 2004, 22:04:35
Я просто ещё плохо понимаю половину этих $i=0; Мне наддо что-бы скрипт смотрел текстовую базу, подсчитывал количестов новостей в базе и выводил ЭННОЕ число последних новостей. Далее он брал оставшиеся новости и разбивал их по 10 штук, генерировал бы ссылки в архиве на каждые 10 новостей.
Если уменя 30 новостей, то скрипт выводит 10 новостей на главной странице, внизу страницы скрип генерирует ссылки на две странички по 10 новостей.
Что тебе надо - все давно поняли.
Не нужно повторять это 10 раз.
Если ты хочешь, чтобы тебе написали готовый скрипт - так и скажи, не строй из себя девочку.
Если хочешь сам написать - ну так хотя бы пытайся что-то сделать.
приводи здесь хоть кривой, но результат своих ПОПЫТОК что-то сделать!
Отвечай хоть что-то на то, что тебе пишут!
Поясняй - что тебе непонятно.
Вот я тебе объяснил принцип действия $i=0
Ты вообще читал?
Если читал - то понял?
Если не понял - то почему не переспросишь?
Плохо понимаешь - я тебе и на словах объяснил, и ссылку дал.
И что теперь?
Кому нужен этот архив? Мне или тебе?
У меня складывается впечатление, что ты не скрипт пишешь, а у доски отвечаешь, в школе.
И оправдываешься. "Плохо понимаю". Перед кем ты оправдываешься? Перед собой?
По-твоему, "плохо понимаю" - это константа, раз и навсегда?
Если так - то пусть пишет скрипты кто-нибудь другой, а ты найди себе другое занятие.
Если не так - то хоть как-то продемонстрируй это
0 Сообщения: 68 Зарегистрирован: 23.09.01 Откуда: Москва
Добавлено: 23 Ноябрь 2004, 20:34:04
По порядку!
Цитата:
Если ты хочешь, чтобы тебе написали готовый скрипт - так и скажи, не строй из себя девочку.
Нет, я не за этим спрашивал!
Цитата:
Вот я тебе объяснил принцип действия $i=0 Ты вообще читал?
Что ты объяснил я знал, но решать свою задачу, разбивая архив на несколько php файлов, в каждом прописав $i<10, потом $i<20 и $i<30 неразумно. Вот почему я не стал пинать идею с этим кодом.
Архив нужен мне 100%! Ссылку, что ты дал, я записал, но ещё не смог её изучить. На работе сегодня был полный кренздец!
После этого ответа тебе за комп сядет жена и будет писать курсовую и, максимум, я завтра прочту, так что не серчай...
Вообщем, я сейчас засяду с карандашом и очень подумаю =) Завтра с утра попробую чего-нибудь продемонстрировать.
Не думай Чебурген, что твои слова утеряны. Я ценю время людей и большое спасибо тебе за ответы.
Не у всех есть время так быстро реагировать и часто писать тут
Что ты объяснил я знал, но решать свою задачу, разбивая архив на несколько php файлов, в каждом прописав $i<10, потом $i<20 и $i<30 неразумно
совершенно верно. неразумно.
На этом форуме - тысячи топиков.
ты думаешь, что для них написаны тысячи скриптов пхп?
Нет, написан один.
в который передается в адресной строке номер топика.
Ты знаком с таким понятием, как передача в адресеной строке переменных?
ты можешь сделать ссылку arhiv.php?nomer=10?
а в самом скрипте взять, и подставить $_GET['nomer'] в for?
0 Сообщения: 68 Зарегистрирован: 23.09.01 Откуда: Москва
Добавлено: 26 Ноябрь 2004, 12:20:09
Спасибо за разумные советы о светлейшие умы РОССИИ. Чтобы я без вас делал…? Наверно спокойно жил бы!
За сим прощаюсь, коль разумного услышать от вас не могу.
Администрация может убирать этот топик. Путного тут мало
12 Сообщения: 3239 Зарегистрирован: 03.05.02 Откуда: Европа
Добавлено: 26 Ноябрь 2004, 12:24:58
Самое интересное, что объясняли подробнейшим образом. Ссылки давали. Даже предлагали код за него написать. Вопрос: на что обиделся? Что не стали учить с нуля и до высшей квалификации? Так это за деньги и немалые, и не тут.
12 Сообщения: 3239 Зарегистрирован: 03.05.02 Откуда: Европа
Добавлено: 26 Ноябрь 2004, 12:44:01
da-khosh, ну и славненько! Но вообще лучше текстовиками для этого не пользоваться, скажу по секрету. Даже для небольшого количества сообщений. СУБД на это есть, и сними намного проще.
0 Сообщения: 68 Зарегистрирован: 23.09.01 Откуда: Москва
Добавлено: 26 Ноябрь 2004, 13:15:15
Многие говорят, что не большую базу с данными не зачем хранить в мускул.
Да и начинать изучение сразу с неё будет не разумно. Я действую от простого к сложному!
пример, кстати, вполне нормальный.
ну, зачем-то передается конечное значение, вместо того, чтобы быть вычисленным в скрипте.
есть некоторые лишние действия, нет некоторых нужных
Но принцип он уловил верно. Остальное нарастет.
База, я считаю - лишняя.
и не потому, что для маленьких проектов она не нужна.
просто понять прелесть базы может только тот, кто столкнулся с ограничениями текстовых файлов.
То что так же, как понять прелесть динамического сайта сможет только тот, кто делал и поддерживал хоть один в своей жизни статический.
12 Сообщения: 3239 Зарегистрирован: 03.05.02 Откуда: Европа
Добавлено: 26 Ноябрь 2004, 16:17:35
Цитата:
понять прелесть базы может только тот, кто столкнулся с ограничениями текстовых файлов. То что так же, как понять прелесть динамического сайта сможет только тот, кто делал и поддерживал хоть один в своей жизни статический.
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.