Forum Webscript.Ru

Программирование => PHP => Тема начата: Pacher от 25 Июня 2002, 03:51:00

Название: Почему эта фигня не пашет :) ?
Отправлено: 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-ти ......
  • Название: Почему эта фигня не пашет :) ?
    Отправлено: AliMamed от 25 Июня 2002, 09:54:41
    это шутка?
    Название: Почему эта фигня не пашет :) ?
    Отправлено: .Sm@sH. от 25 Июня 2002, 10:34:57
    Я плакалЪ...
    Название: Почему эта фигня не пашет :) ?
    Отправлено: Меняздесьдавнонет от 25 Июня 2002, 10:44:53
    Что-то подобное я видел ни ихбт...
    Название: Почему эта фигня не пашет :) ?
    Отправлено: Меняздесьдавнонет от 25 Июня 2002, 10:57:37
    Pacher
    Я думаю, что не работает у тебя потому, что считываешь ты только 4 килобайта текста.
    А вообще такие вещи надо делать по-другому, в цикле.
    Ну, да ты и сам понимаешь
    Название: Почему эта фигня не пашет :) ?
    Отправлено: Pacher от 25 Июня 2002, 13:01:52
    Мля , ну туп я в этом , туп ........учусь еше ......
    а сделать срочняк надо ...
    Название: Почему эта фигня не пашет :) ?
    Отправлено: Меняздесьдавнонет от 25 Июня 2002, 13:24:43
    Учиться надо было лучше.
    Ты прости, конечно, но с такими письмами, типа "какая-то хрень творится", "туп я, туп" - можешь с тем же успехом обращаться в спортлото.
    Название: Почему эта фигня не пашет :) ?
    Отправлено: GotZfild от 25 Июня 2002, 13:32:51
    Кто-то уже писал очень похожее на форуме. Там ему много всяких советов по минимазции кода дали. Поищи.
    Название: Почему эта фигня не пашет :) ?
    Отправлено: Maniac от 25 Июня 2002, 14:22:35
    Я, конечно, ни фига не понял в скрипте (точнее, зачем это делать ТАК), однако один "непорядочек" заметил.
    В инициализации переменных у тебя идет так:
    $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;
    }
    Название: Почему эта фигня не пашет :) ?
    Отправлено: Меняздесьдавнонет от 25 Июня 2002, 14:38:46
    Да ему все в цикле надо делать, и без это переменной :-)
    и ссылки - тоже выводить :-)
    Название: Почему эта фигня не пашет :) ?
    Отправлено: Pacher от 25 Июня 2002, 17:39:13
    Maniac
    Да именно тут и была ошибка !!!!! :)))
    P.S. Ну неумею я писать правильный , красивый код :)
     А ХОЧЕТСЯ !!!
    Название: Почему эта фигня не пашет :) ?
    Отправлено: Maniac от 25 Июня 2002, 17:44:28
    Кстати, лично у меня необходимость решать проблему "в лоб" или методом перебора вызывает стойкое желание забросить программирование :)) Вот когда у тебя будет так же - можешь спать спокойно. А до того момента - учиться, учиться и еще раз учиться, как сказал великий и могучий сами-знаете-кто.
    Название: Почему эта фигня не пашет :) ?
    Отправлено: Pacher от 27 Июня 2002, 03:52:12
    Народ !
    Я сам догадался как нужно сделать :)))))))))))))))))))  :)  :)



    News Script<br />