Forum Webscript.Ru
Программирование => PHP => Тема начата: Pacher от 25 Июня 2002, 03:51:00
-
Вот скрипт , мое первое творение .
Правда это сплошная писанина а не програмирование , но все равно . Вообщем этот скрипт должен выводить заголовки новостей и даты .
А он выводит только первые 10 нормально а потом какая-то хрень начинается :((((
Вот скрипт :(он большой но однообразный)
$fz=fopen("na_na.txt","r");
$links_to_news=fread($fz,4096);
$data=explode("|",$links_to_news);
//ПЕРЕМЕННЫЕ ПЕРЕМЕННЫЕ
$bla1=sizeof($data)-1;
$bla2=sizeof($data)-2;
$bla3=sizeof($data)-3;
$bla4=sizeof($data)-4;
$bla5=sizeof($data)-5;
$bla6=sizeof($data)-6;
$bla7=sizeof($data)-7;
$bla8=sizeof($data)-8;
$bla9=sizeof($data)-9;
$bla10=sizeof($data)-10;
$bla11=sizeof($data)-11;
$bla12=sizeof($data)-12;
$bla13=sizeof($data)-13;
$bla14=sizeof($data)-14;
$bla15=sizeof($data)-15;
$bla16=sizeof($data)-16;
$bla17=sizeof($data)-17;
$bla18=sizeof($data)-18;
$bla20=sizeof($data)-19;
$bla21=sizeof($data)-20;
$bla22=sizeof($data)-21;
$bla23=sizeof($data)-22;
$bla24=sizeof($data)-23;
$bla25=sizeof($data)-24;
$bla26=sizeof($data)-25;
$bla27=sizeof($data)-26;
$bla28=sizeof($data)-27;
$bla29=sizeof($data)-28;
$bla30=sizeof($data)-29;
$bla31=sizeof($data)-30;
$bla32=sizeof($data)-31;
$bla33=sizeof($data)-32;
$bla34=sizeof($data)-33;
$bla35=sizeof($data)-34;
$bla36=sizeof($data)-35;
$bla37=sizeof($data)-36;
$bla38=sizeof($data)-37;
$bla39=sizeof($data)-38;
$bla40=sizeof($data)-39;
$proch=" - ";
//КОНЕЦ ПЕРЕМЕННЫХ
if (sizeof($data)<=2)
{
print "- $data[$bla2] $proch $data[$bla1]
";
}
elseif (sizeof($data)==4)
{
print "- $data[$bla2] $proch $data[$bla1]
";
print "- $data[$bla4] $proch $data[$bla3]
";
}
elseif (sizeof($data)==6)
{
print "- $data[$bla2] $proch $data[$bla1]
";
print "- $data[$bla4] $proch $data[$bla3]
";
print "- $data[$bla6] $proch $data[$bla5]
";
}
elseif (sizeof($data)==8)
{
print "- $data[$bla2] $proch $data[$bla1]
";
print "- $data[$bla4] $proch $data[$bla3]
";
print "- $data[$bla6] $proch $data[$bla5]
";
print "- $data[$bla8] $proch $data[$bla7]
";
}
elseif (sizeof($data)==10)
{
print "- $data[$bla2] $proch $data[$bla1]
";
print "- $data[$bla4] $proch $data[$bla3]
";
print "- $data[$bla6] $proch $data[$bla5]
";
print "- $data[$bla8] $proch $data[$bla7]
";
print "- $data[$bla10] $proch $data[$bla9]
";
}
elseif (sizeof($data)==12)
{
print "- $data[$bla2] $proch $data[$bla1]
";
print "- $data[$bla4] $proch $data[$bla3]
";
print "- $data[$bla6] $proch $data[$bla5]
";
print "- $data[$bla8] $proch $data[$bla7]
";
print "- $data[$bla10] $proch $data[$bla9]
";
print "- $data[$bla12] $proch $data[$bla11]
";
}
elseif (sizeof($data)==14)
{
print "- $data[$bla2] $proch $data[$bla1]
";
print "- $data[$bla4] $proch $data[$bla3]
";
print "- $data[$bla6] $proch $data[$bla5]
";
print "- $data[$bla8] $proch $data[$bla7]
";
print "- $data[$bla10] $proch $data[$bla9]
";
print "- $data[$bla12] $proch $data[$bla11]
";
print "- $data[$bla14] $proch $data[$bla13]
";
}
elseif (sizeof($data)==16)
{
print "- $data[$bla2] $proch $data[$bla1]
";
print "- $data[$bla4] $proch $data[$bla3]
";
print "- $data[$bla6] $proch $data[$bla5]
";
print "- $data[$bla8] $proch $data[$bla7]
";
print "- $data[$bla10] $proch $data[$bla9]
";
print "- $data[$bla12] $proch $data[$bla11]
";
print "- $data[$bla14] $proch $data[$bla13]
";
print "- $data[$bla16] $proch $data[$bla15]
";
}
elseif (sizeof($data)==18)
{
print "- $data[$bla2] $proch $data[$bla1]
";
print "- $data[$bla4] $proch $data[$bla3]
";
print "- $data[$bla6] $proch $data[$bla5]
";
print "- $data[$bla8] $proch $data[$bla7]
";
print "- $data[$bla10] $proch $data[$bla9]
";
print "- $data[$bla12] $proch $data[$bla11]
";
print "- $data[$bla14] $proch $data[$bla13]
";
print "- $data[$bla16] $proch $data[$bla15]
";
print "- $data[$bla18] $proch $data[$bla17]
";
}
elseif (sizeof($data)==20)
{
print "- $data[$bla2] $proch $data[$bla1]
";
print "- $data[$bla4] $proch $data[$bla3]
";
print "- $data[$bla6] $proch $data[$bla5]
";
print "- $data[$bla8] $proch $data[$bla7]
";
print "- $data[$bla10] $proch $data[$bla9]
";
print "- $data[$bla12] $proch $data[$bla11]
";
print "- $data[$bla14] $proch $data[$bla13]
";
print "- $data[$bla16] $proch $data[$bla15]
";
print "- $data[$bla18] $proch $data[$bla17]
";
print "- $data[$bla20] $proch $data[$bla19]
";
}
итд ... так до 20-ти ......
-
это шутка?
-
Я плакалЪ...
-
Что-то подобное я видел ни ихбт...
-
Pacher
Я думаю, что не работает у тебя потому, что считываешь ты только 4 килобайта текста.
А вообще такие вещи надо делать по-другому, в цикле.
Ну, да ты и сам понимаешь
-
Мля , ну туп я в этом , туп ........учусь еше ......
а сделать срочняк надо ...
-
Учиться надо было лучше.
Ты прости, конечно, но с такими письмами, типа "какая-то хрень творится", "туп я, туп" - можешь с тем же успехом обращаться в спортлото.
-
Кто-то уже писал очень похожее на форуме. Там ему много всяких советов по минимазции кода дали. Поищи.
-
Я, конечно, ни фига не понял в скрипте (точнее, зачем это делать ТАК), однако один "непорядочек" заметил.
В инициализации переменных у тебя идет так:
$bla_x=$sizeof($data)-_x , где _x - числа от 1 до 20.
Дык вот странная вещь:
$bla18=sizeof($data)-18; - вроде все нормально
$bla20=sizeof($data)-19; - внимание
^^ ^^
$bla21=sizeof($data)-20; - пошло-поехало
Если не ошибаюсь, у тебя как раз с этого места неувязочка.
З.Ы. И вообще если уж надо инициализировать столько переменных, то существует конструкция $$name - она создает переменную с именем, хранящимся в переменной $name.
Т.е. в твоем случае инициализацию горааааздо проще было сделать так:
for ($i=1;$i<=50;$i++)
{ $bla_x="bla$i";
$$bla_x=sizeof($data)-$i;
}
-
Да ему все в цикле надо делать, и без это переменной :-)
и ссылки - тоже выводить :-)
-
Maniac
Да именно тут и была ошибка !!!!! :)))
P.S. Ну неумею я писать правильный , красивый код :)
А ХОЧЕТСЯ !!!
-
Кстати, лично у меня необходимость решать проблему "в лоб" или методом перебора вызывает стойкое желание забросить программирование :)) Вот когда у тебя будет так же - можешь спать спокойно. А до того момента - учиться, учиться и еще раз учиться, как сказал великий и могучий сами-знаете-кто.
-
Народ !
Я сам догадался как нужно сделать :))))))))))))))))))) :) :)
News Script
$fz=fopen("na_na.txt","r");
$links_to_news=fread($fz,4096);
$data=explode("|",$links_to_news);
$printqqq=sizeof($data)/2;
$q=1;
$w=$printqqq*2-2;
$e=$printqqq*2-1;
for ($i=1;$i<=$printqqq;$i++)
{
print "- $data[$w] $proch $data[$e]
";
$q++;
$w=$w-2;
$e=$e-2;
}
fclose($fz);
?>