вывод из файла опр. строчки с id`ом....help

Статус
В этой теме нельзя размещать новые ответы.

rsha1988

Постоялец
Регистрация
7 Апр 2006
Сообщения
553
Реакции
146
Всем привет
есть файл , base.txt
его содержание примерно такое:
0|lalala|lalalala lalalala|dadada|1
1|lalala|lalalala lalalala|dadada|1
2|lalala|lalalala lalalala|dadada|1

первое значение в строчках (0,1,2) - это своеобразеный ID.

нужно :
написаь скрипт который при обращении к странице ( на пример index?id=1) выводил строчку с этим id`ом ...
в инете рабочих примеров неайти не смог :(
Help

Добавлено через 13 минут
Вариант по типу:

PHP:
$id=2;
$base="./include/base.txt";
$g=file($base);
$i=count($g);
$ar=explode("|", $g[$id]);
echo "$ar[0]<br> $ar[1]<br> $ar[2]<br> $ar[3]<br> $ar[4]<br> $ar[5]<br> $ar[6]<br> $ar[7]<br> $ar[8]";

Не подходит!
Так как строчка с id 2 в дальнейшем может быть удалена и в результате чего (если использовать этот код) id 3 станет id 2 ....То есть при запросе test.php?id=2 вылезет строчка с id`ом 3...
 
Только циклом по все записям и проверкой айди.
 
а как это сделать кодом показать можешь?))
 
)Для просмотра ссылки Войди или Зарегистрируйся. Смотри уже от этого ;)
подсказка: искать нужно подстроку $_POST/$_GET['id'].'|' с самого начала строки ;)
 
дай кусок файла для проверки


весьма грубый вариант :
PHP:
<?php

// считываем файл в массив 
$arr=file("file.txt");
$_id_mod=$_GET['id']."|";
foreach ($arr as $stroka){
    // берем первые 5 символов строки
    $stroka_mod=substr($stroka,0,5);
    // и ищем там id 
    if (substr_count($stroka_mod,$_id_mod))
        //если находим --вывод
        echo $stroka;
    }

для php5 еще проще
 
Jeurey , да смотрел я этот пост...запаутолся там)))))

ZCFD ,"дай кусок файла для проверки"
0|30.05.2008, 13:23:24|Rsha1988|Яковлев Павел Андреевич|1988|2007|Мозгы взорвались|ТолчОк|пил пил и вдруг умер!|0
1|30.05.2008, 13:23:24|Rsha1988|Яковлев Павел Андреевич|1988|2007|Мозгы взорвались|ТолчОк|пил пил и вдруг умер!|0
2|30.05.2008, 13:23:25|Rsha1988|Яковлев Павел Андреевич|1988|2007|Мозгы взорвались|ТолчОк|пил пил и вдруг умер!|0
3|30.05.2008, 13:23:27|Rsha1988|Яковлев Павел Андреевич|1988|2007|Мозгы взорвались|ТолчОк|пил пил и вдруг умер!|0
4|30.05.2008, 13:23:28|Rsha1988|Яковлев Павел Андреевич|1988|2007|Мозгы взорвались|ТолчОк|пил пил и вдруг умер!|0
5|30.05.2008, 13:23:28|Rsha1988|Яковлев Павел Андреевич|1988|2007|Мозгы взорвались|ТолчОк|пил пил и вдруг умер!|0
6|30.05.2008, 13:23:28|Rsha1988|Яковлев Павел Андреевич|1988|2007|Мозгы взорвались|ТолчОк|пил пил и вдруг умер!|0

вот кусок базы.для примера

Добавлено через 4 минуты
ZCFD
код работает,прикольно..но не совсем:)
На пример id=1
он выводет строки и с идом 1 и с 11 , 21 , 31 41,51 ....
 
Если не вдаваться в качество кода, то можно сделать следующее:
PHP:
<?php
// считываем файл в массив
$arr=file("file.txt");
$_id_mod=$_GET['id'];

foreach ($arr as $stroka){
    // Забираем $stroka_mod до первого '|'
    $stroka_mod = '';
    $iCounter = 0;
    
    while(true) { 
      if($stroka[$iCounter] != '|') { 
          $stroka_mod.= $stroka[$iCounter]; 
          $iCounter++;
      } else break;
    }
    // и ищем там id 
    if ($stroka_mod == $_id_mod) {
        //если находим --вывод
        echo $stroka;
    } 
}

Но я советую присмотреться в сторону вложенных циклов, дабы сразу проверять - совпадает ли искомая строка с текущей ;)
 
Jeurey , твой вариант ваще че то не работает)
 
Исправил. Неужели сложно поправить ошибку? Всего делов - доставить скобочку... совсем головой думать никто не хочет :(
 
Jeurey , когда столько вариантов перебераешь мозг автоматом отключаецо так что думать просто не реально)....
Спасибо;)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху