Вывод определенной строки

Тема в разделе "PHP", создана пользователем ArS-design, 4 сен 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. ArS-design

    ArS-design Писатель

    Регистр.:
    8 июл 2008
    Сообщения:
    5
    Симпатии:
    5
    Есть база в txt-файле со строками:
    Код:
    link|name|width|height
    link|name1|width|height
    link|name2|width|height
    Передаю ссылку с параметром, например:
    ../game.php?name=name1
    А на самой странице строку раскладываю на массив, как-то так:
    PHP:
    $base=file('base.txt');
    $file $_GET['name'];
    $arr=explode('|',$base[$file]);
    $link=$arr[0];
    $name=$arr[1];
    $width=$arr[2];
    $height=$arr[3];
    Подскажите, плиз, как вывести именно ту строку, в которой есть name1, т.е. тот переданный параметр?

    Надеюсь, понятно объяснил. :ah:
     
  2. Sect0R

    Sect0R Читатель

    Заблокирован
    Регистр.:
    4 апр 2007
    Сообщения:
    136
    Симпатии:
    43
    Сделай так:
    PHP:
    $file 'base.txt';
    $search $_GET['name'];
    $result_string '';

    $f fopen($file,'r');

    while (!
    feof($f)) {
        
    $s fgets($f);
        
    $ex explode('|',$s);
        if (
    $ex[1]==$search) {
            
    $result_string $s;
            break;
        }
    }

    echo 
    $result_string;
    Так будет меньше операций и меньше памяти жрякать
     
    ArS-design нравится это.
  3. HabaHaba

    HabaHaba Писатель

    Регистр.:
    11 окт 2007
    Сообщения:
    5
    Симпатии:
    3
    PHP:
    <?
    $name $_GET["name"];
    $content join(file("base.txt"));
    preg_match("/(.*)\|$name\|(.*)/",$content,$res);
    if (
    $res) {
       print 
    $res[0]."\n";
    } else {
       print 
    "not found\n";
    }
    ?>
    Ну вот так вот типа будет работать но насколько это всё паравильно, я даже не знаю :)
    Если бы у тебя первым параметром шло "name", то тогда бы можно было просто к массиву по ключу обратиться.

    ---up---
    Код предыдущего оратора будет работать быстрей.
     
    ArS-design нравится это.
Статус темы:
Закрыта.