Forum Webscript.Ru

Программирование => PHP => Тема начата: Miller от 24 Декабря 2002, 03:00:50

Название: Инклуд в массив
Отправлено: Miller от 24 Декабря 2002, 03:00:50
Я только начал изучать PHP, вот у меня и появилась идея сделать для новостей 1 .txt документ (news, к примеру), и чтобы новостей выводилось не более 10
и записать в index.php
$news = array(include ( "news.txt" ));
print $news[count($news)10];
в файле news.txt было записано
$news[]
"//Сами новости(ШТМЛ тобишь)" и новостей было 11
По моему я написал полную белеберду... поправьте если можете или посоветуйте чаво написать.
Название: Инклуд в массив
Отправлено: rembo от 24 Декабря 2002, 06:29:55
Цитировать
По моему я написал полную белеберду...

точна....
Цитировать
поправьте если можете

ты хоть сам то пробовал это запустить?
Цитировать
посоветуйте чаво написать

не засовывай все в один файл и никаких проблем
Название: Инклуд в массив
Отправлено: Tronyx от 24 Декабря 2002, 13:16:43
Цитировать
$news = array(include ( "news.txt" ));

Оригинально!:)
$news=file("news.txt");

И вообще чё ты хочешь получить? Что не получается?
Название: Инклуд в массив
Отправлено: Miller от 24 Декабря 2002, 14:02:02
Мне нужно, чтобы из файла с новостями выдергивались 10 штук (новостей) и вставлялись в страницу
to rembo: пробовал, не запускается
Название: Инклуд в массив
Отправлено: Miller от 24 Декабря 2002, 14:09:58
И еще хотел спросить.. а пробелы имеют значение?
И вроде count без массива работать не будет....
Да и не работет ни хрена... вот что не получается
count не работет, и фаил не читает с новостями
Название: Инклуд в массив
Отправлено: Miller от 24 Декабря 2002, 14:13:35
вот.. сейчас
$news=file("news.txt");
и упростил
print $news;
Страничка грузится, но новостей нет, скорее всего ошибке в файле news.txt
Название: Инклуд в массив
Отправлено: Miller от 24 Декабря 2002, 14:16:30
вот.... урл http://vicecity.dtn.ru/citenew/index.php... страничка с шаблонами шаблон по адресу http://vicecity.dtn.ru/citenew/templates/main.tpl
Название: Инклуд в массив
Отправлено: Меняздесьдавнонет от 24 Декабря 2002, 14:22:40
Значит так. До вывода10 новостей тебе еще очень далеко.
Перед этим тебе надо сделать еще миллион вещей.

Сначала реши - в каком виде у тебя будут лежать новости в файле. И сможешь ли ты отделать одну новость от другой.

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

Если новости - это простой текст, то можно хранить их построчно - одна строка - одна новость. Переврды строк в новостях заменить на
.

Если новости большие, то лучше хранить в отдельных файлах.

Дальше, прочти http://faq.phpclub.net/newbie
там есть ссылки на обучающие сайты. На этих сайтах есть примеры всего того, что ты хочешь сделать.

Научись хранить новости, выводить новости, а потом уже о 10 думай.
Название: Инклуд в массив
Отправлено: Меняздесьдавнонет от 24 Декабря 2002, 14:38:27
Скорее всего ошибка в голове.
Прежде, чем использовать функцию (print в данном случае)
надо подумать - а что делает эта функция, и делает ли она то, что мне надо?

print выводит простые, так называемые скалярные переменные - строки, числа. Массив ей вывести нельзя. Массив - это структура данных. И откуда print будет знать, как ты хояешь выводить свою структуру.

Похоже, что ты безоговорочно веришь в телепатию. PHP у тебя ЗНАЕТ о том, что и как ты хочешь вывести, достаточно попросить.
Название: Инклуд в массив
Отправлено: Tronyx от 24 Декабря 2002, 15:14:23
Цитировать
скорее всего ошибке в файле news.txt

Кривые руки и ~100% незнание PHP.
Иди учись - http://kurepin.ru/php/
Название: Инклуд в массив
Отправлено: Miller от 24 Декабря 2002, 23:44:56
Пасиба.. а наслечет кривых рук... они у меня прямые а про незнание PHP не сопорю
Название: Инклуд в массив
Отправлено: Miller от 25 Декабря 2002, 16:16:07
там все что есть про новости с использованием MySQL! :((((((
Название: Инклуд в массив
Отправлено: Меняздесьдавнонет от 25 Декабря 2002, 18:38:32
При чем здесь новости???????????????????????
Тебе дали адрес по которому учат писать программы.
Кстати, не самый лучший из адресов.
Если бы ты прошел по моей ссылке, нашел бы больше.

И вот научившись писать программы, уже пиши свои новости. Тебя туда послали не сдирать готовое, а учиться.
Название: Инклуд в массив
Отправлено: Жук от 22 Января 2003, 09:15:14
Цитировать
вот.. сейчас
$news=file("news.txt");
и упростил
print $news;
Страничка грузится, но новостей нет, скорее всего ошибке в файле news.txt

$news у тебя массив, а не строковая переменная. Массив $news содержит элементы - строки файла news.txt
$news
$news [1] - вторая строка файла news.txt
$news [2] - третья строка файла news.txt
и т.д.
Массивы обычно выводят циклом for. Например, вот так ты сможешь вывести на экран первые 10 строк файла news.txt:
for ($i=0;$i<10;$i++) {
$str=$news [$i];
echo "$i. $str
";
}
Название: Инклуд в массив
Отправлено: druid от 22 Января 2003, 20:30:11
Допустим у тебя есть файл news.txt, в катором на каждей строчке хранятся новости, и есть файл index.php где ты будеш всё это выводить, тогда:
//index.php//

$n=10;//число новостей на странице
$l=1;
$k=$n*$i;
$p=$k-$n+1;
$news="news.txt";
$f=fopen($news,"r");
while($n>0){
$line=fgets($f,1000);
if(feof($f)) break;
if ($p<=$l){
echo "
";
$n=$n-1;
}
$l=$l+1;
}
fclose($f);
?>
Новости: $line

плюс, обязательно в адресе страници надо указывать страницу со значением $i (i называет номер страници с новостями), например localhost/index.php?i=2
в этом случае будут выводиться новасти с №11 по №20
p.s. Если что не так то извините
Название: Инклуд в массив
Отправлено: Меняздесьдавнонет от 22 Января 2003, 21:09:44
Ребят, все так.
Только вы на дату вопроса посмотрите :-)
Хотя у тебя, Друид, код достаточно кривой
Название: Инклуд в массив
Отправлено: druid от 22 Января 2003, 21:56:15
А что именнр тебе в нём не нравится. Я конечно далеко не спец в PHP но этот код у меня в гостевой книге используется и вроде нормально.
Название: Инклуд в массив
Отправлено: Меняздесьдавнонет от 22 Января 2003, 23:19:03
я и не говорю, что он нерабочий. Я говорю. что он кривоват.
с бейсика пришел что ли - переменные одной буквой пишешь? :-)
Какие-то кучи ненужных вычислений...
Все можно сделать гораздо проще. Например - так:
$news=file("news.txt");
$n=min(10,count($news));
for ($i=0;$i<$n; $i++) echo "";
?>
Новости".$news[$i]."
И этот код, кстати, очень легко модифицировать, чтобы выводить новости правильно - сконца, от свежих к старым.
Название: Инклуд в массив
Отправлено: druid от 23 Января 2003, 17:33:53
вообще с паскаля :)
Название: Инклуд в массив
Отправлено: Flash от 23 Января 2003, 18:34:42
а если хочешь чтоб у тебя по странично выводилось то вот:

print"";
if(!isset($page)) $page=1;
$news=file("news.txt");
$min=$page*10-10;
$max=$page*10;
for($i=$min;$i<$max;$i++)
{
    print"";
}
print"
$news[$i]
";

только в урле должна быть переменная обязательно объявлена: http://www.tvoysait.ru/index.php?page=1