Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вытянуть инфу из файла "кравиво", Как? 
:(
    Опции темы
Danox
Дата 7.3.2006, 23:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


=)
*


Профиль
Группа: Участник
Сообщений: 190
Регистрация: 28.1.2006

Репутация: 1
Всего: 2



Чето не доходит!
Есть файл в папке files которого зовут start.txt в start.txt такое
Имя | Фото | Описание
Там несколько таких строк и мне надо в другом файле сделать так
<a href="index.php?do=start&[тут строка]">[имя]</a>
Когда нажимаешь на ссылку чтоб выходила строка из файла start.txt и переменная Имя, ну я понял я открыл это file потом раздил list а вот я получил строки а как и прономирировать поблема smile smile
Должна открытся страница где стоит имя фото и описание того что я нажал smile

Это сообщение отредактировал(а) Danox - 8.3.2006, 00:09
PM MAIL   Вверх
Ciber SLasH
Дата 8.3.2006, 04:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: 3
Всего: 67



Не совсем понял проблему, но строка из файла твоего формата разбивается в массив так:
Код

$f = file('<путь к файлу>');
for ($i = 0; $i < count($f); $i++) {
  $arr = explode('|', $f[$i]);
  // $arr[0] — имя; $arr[1] — фото; $arr[2] — описание
  // действия на $arr
}

PM   Вверх
AztEK
Дата 8.3.2006, 08:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 723
Регистрация: 4.1.2005

Репутация: 6
Всего: 18



Проще так:
Код

<?php
$f = file('<путь к файлу>');
foreach($f as $val)
{
   list($name, $photo, $desc) = explode($val);
   //эхать переменные $name $photo $desc
}
?>



--------------------
Linux is like wigwam -- no windows, no gates, apache inside.
PM MAIL Jabber   Вверх
-=Ustas=-
Дата 8.3.2006, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



А в цикле уже делаешь сравнение на текущее имя:
Код

$f = file('<путь к файлу>');
foreach($f as $val)
{
   list($name, $photo, $desc) = explode($val);
   //эхать переменные $name $photo $desc
   if ($name == $_GET['name']) {
       echo $name.", ".$photo.", ".$desc;
       break;
   } else {
       continue;
   }
}
?>




--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Danox
Дата 8.3.2006, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


=)
*


Профиль
Группа: Участник
Сообщений: 190
Регистрация: 28.1.2006

Репутация: 1
Всего: 2



да блин мне нужен список Имен в файле например
<a href="index.php?do=start&1">Петров</a>
<a href="index.php?do=start&2">Пупкин</a>

А в файле start.txt такое
Петров | petya.gif | Я петя
Сидоров | sid.gif | Я сидоров

И он чтоб открывал страницу с этим что я выбрал а как мне строки прономирировать????

Тоесть index.php?do=start&1 первая это строка

Это сообщение отредактировал(а) Danox - 8.3.2006, 11:44
PM MAIL   Вверх
Guedda
Дата 8.3.2006, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 13
Всего: 78



Вот так:
Код

$f=file("твой_файл.txt");
//Загоняет файл в массив. Теперь
//$f[0] - это первая строка файла. Теперь как обращаться:
echo $f[$start-1];//Выводит 1ю строку из файла при обращении:
//<a href="index.php?start=1">Петров</a>



--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Danox
Дата 8.3.2006, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


=)
*


Профиль
Группа: Участник
Сообщений: 190
Регистрация: 28.1.2006

Репутация: 1
Всего: 2



Да блин опять не так!!!
Мне надо так <a href="index.php?start=$stroka">$name</a>
и когда нажимаешь на ссылку он выдавал файл с этой строкой smile
Добавлено @ 18:38
Как мне сделать так чтоб он строку нумирировал??? и давал значение name в этой строке
PM MAIL   Вверх
Ciber SLasH
Дата 8.3.2006, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: 3
Всего: 67



Danox тебе ведь Guedda подробно описал как обращаться к строкам файла, неужели не ясно?
PM   Вверх
Danox
Дата 8.3.2006, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


=)
*


Профиль
Группа: Участник
Сообщений: 190
Регистрация: 28.1.2006

Репутация: 1
Всего: 2



Да блин я все это знаю! мне надо прономирировать строки и переменные в них тоесть!!!!!
<a href="index.php?start=$stroka">$name</a>

Как мне узнать $stroka????????????????????????? я же небуду дописывать файл при новом пользователе???
PM MAIL   Вверх
-=Ustas=-
Дата 8.3.2006, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



Danox, ну ты же в цикле выводишь данные ссылки <a href="index.php?start=$stroka">$name</a>, вот тебе и нумерация, сама собой берется.


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Danox
Дата 8.3.2006, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


=)
*


Профиль
Группа: Участник
Сообщений: 190
Регистрация: 28.1.2006

Репутация: 1
Всего: 2



как же их взять в цикле? она у меня чето сама собой не берется от неоткуда! эти ссылки совсем в другом файле!!!!!!
PM MAIL   Вверх
Guedda
Дата 9.3.2006, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 13
Всего: 78



Опиши свой вопрос подробнее. Ничего не понятно. На твой первый вопрос мы ответили. Как задал, так и ответили.
Опиши как можешь подробней, можешь даже код показать, если нужен будет. А так мы не умеем гадать на кофейной гуще.


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Danox
Дата 9.3.2006, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


=)
*


Профиль
Группа: Участник
Сообщений: 190
Регистрация: 28.1.2006

Репутация: 1
Всего: 2



---------------------------------------------------------
Вопрос номер 1.
---
Ты мне дал код
Код

$f=file("file.txt");
echo $f[$start-1];

Хорошо а как здесь указать параметр else т.е. чтоб он это делал если строки введеной в $start нет.
---------------------------------------------------------
Вопрос номер 2.
Есть скрипт который в вопросе 1 ну как мне поставить разделитель?
У меня просто в файле file.txt так
имя1|фото1|описание1
имя2|фото2|описание2
И мне надо разбить на переенные и чтоб я когда указывал строку он мне выдавал строку и разбивал её т.е. я указал строку один он мне выдал
Имя: имя1
Фото: фото1
Описание: описание 1
---------------------------------------------------------
Вопрос номер 3.
Мне надо сделать список этих анкет т.е.
<a href="index.php?start=1">Имя1</a>
<a href="index.php?start=2">Имя2</a>
Мне надо чтоб скрипт автоматически создавал список этот.
PM MAIL   Вверх
Guedda
Дата 9.3.2006, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 13
Всего: 78



Ответ 1:
Код

if(isset($file[$start-1])) //если есть такая строка, то
{
  //твои действия
}
  else
{
  //что будешь делать иначе
}


Ответ 2:
Код

$f=file("file.txt");
//Допустим, указал первую строку:
$my_arr=explode("|", $f[0]); //строку в массив перегоняем.
echo "Имя: " . $my_arr[0]; //получится Имя: имя1
echo "Фото: " . $my_arr[1]; //получится Фото: фото1
echo "Описание: " . $my_arr[2];


Ответ 3:
Код

$f=file("file.txt");
for($i=0;$i<sizeof($f); $i++)
{
  $my_arr=explode("|", $f[$i]);
  echo "<a href=\"index.php?start=$i\">$my_arr[0]</a>";
}

Будут выводиться все имена в файле.
Что не понятно, спрашивай.


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Danox
Дата 9.3.2006, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


=)
*


Профиль
Группа: Участник
Сообщений: 190
Регистрация: 28.1.2006

Репутация: 1
Всего: 2



Спасибо сделал репу +
Ответ 3: как сделать чтоб начиналось все с нуля?
Добавлено @ 18:20
Проблема решена smile
PM MAIL   Вверх
Danox
Дата 9.3.2006, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


=)
*


Профиль
Группа: Участник
Сообщений: 190
Регистрация: 28.1.2006

Репутация: 1
Всего: 2



Хе первый раз столкнулся с проблемой...
Вот у меня на одной странице твой isset и штукой в третьем ответе так когда указываю номер строки isset появляются и ссылкии в третьем ответе, чето они ну совсем там не в тему smile

Это сообщение отредактировал(а) Danox - 9.3.2006, 18:46
PM MAIL   Вверх
Guedda
Дата 9.3.2006, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 13
Всего: 78



Подробней. Покажи, пожалуйста, код. И что именно тебя не устраивает?


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Danox
Дата 9.3.2006, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


=)
*


Профиль
Группа: Участник
Сообщений: 190
Регистрация: 28.1.2006

Репутация: 1
Всего: 2



Код

$f=file("start.txt");
if(isset($f[$start-1]))
{
list($name,$foto,$des)=split("|",$f[$start-1]);    
echo "Имя: $name <br>"; 
echo "Фото: $foto <br>"; 
echo "Описание: $des <br>";
}
else { echo "Неправильно набран номер :)";}

for($i=0;$i<sizeof($f); $i++)
{
  $go=explode("|", $f[$i]);
  echo "<a href=\"index.php?start=$i\">$go[0]</a><br>";
}


Все просто красиво работает но
я пишу index.php?start=1 пишет первую строку имя фото описание как надо но внизу стоят ссылки на все анкеты эти ссылки мне не нужны!

Это сообщение отредактировал(а) Danox - 9.3.2006, 18:58
PM MAIL   Вверх
Guedda
Дата 9.3.2006, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 13
Всего: 78



Переписываем, как надо:
Код

$f=file("file.txt");
if(!isset($start))
{
  for($i=0;$i<sizeof($f); $i++)
  {
    $go=explode("|", $f[$i]);
    echo "<a href=\"index.php?start=$i\">$go[0]</a><br>";
  }
}
  else
{
  if(isset($f[$start-1]))
  {
    list($name,$foto,$des)=split("|",$f[$start-1]);    
    echo "Имя: $name <br>"; 
    echo "Фото: $foto <br>"; 
    echo "Описание: $des <br>";
  }
  else { echo "Неправильно набран номер :)";}
}

Вот так лучше...

Это сообщение отредактировал(а) Guedda - 9.3.2006, 19:02


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Danox
Дата 9.3.2006, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


=)
*


Профиль
Группа: Участник
Сообщений: 190
Регистрация: 28.1.2006

Репутация: 1
Всего: 2



Вижу такую картину
<a href="index.php?start=0">имя1</a>
<a href="index.php?start=1">имя2</a>
<a href="index.php?start=2">имя3</a>
Хе А должно быть так
<a href="index.php?start=1">имя1</a>
<a href="index.php?start=2">имя2</a>
<a href="index.php?start=3">имя3</a>
PM MAIL   Вверх
Guedda
Дата 9.3.2006, 19:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 13
Всего: 78



Ну что, не догадываешься?
Сделай вместо:
Код

echo "<a href=\"index.php?start=$i\">$go[0]</a><br>";

так:
Код

echo "<a href=\"index.php?start=" . $i + 1 . "\">$go[0]</a><br>";



--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Danox
Дата 9.3.2006, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


=)
*


Профиль
Группа: Участник
Сообщений: 190
Регистрация: 28.1.2006

Репутация: 1
Всего: 2



твой вариант не работает сделал так
$ok=$i+1;
echo "<a href=\"index.php?start=$ok\">$go[0]</a><br>";
PM MAIL   Вверх
Guedda
Дата 9.3.2006, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 13
Всего: 78



Можно и так.


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Danox
Дата 10.3.2006, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


=)
*


Профиль
Группа: Участник
Сообщений: 190
Регистрация: 28.1.2006

Репутация: 1
Всего: 2



Я тут код переделал
Код

if (file_exists("$file.txt"))
{ $f=file("$file.txt"); }
else { echo "error!"; }

if (!isset($id))
{
echo "ляля"; //---ВЕЧНЫЙ КОД КОГДА ПЕРЕМЕННАЯ File правильна :)
  for ($i=0;$i<sizeof($f); $i++)
  {
    $go=explode("<>", $f[$i]);
     $ok=$i+1;
     echo "<a href=\"index.php?start=$file&id=$ok\">$go[0]</a><br>";";
  }
echo "ляля"; //---ВЕЧНЫЙ КОД КОГДА ПЕРЕМЕННАЯ File правильна :)
}
 
else
{

if (isset($f[$id-1]))
  {
    list ($name,$foto,$des)=split("<>",$f[$id-1]);    
    echo "Имя: $name <br>"; 
    echo "Фото: $foto <br>"; 
    echo "Описание: $des <br>";
  }
  else { include ("start.php"); }

}


А ошибка собсна на 3 строке кода когда я пишу так index.php?start=' а такого файла нет он мне пишет
error!
ляля
А мне нужен просто error! без всякого ляля smile а после 9 строки не говорите писать вечный код он дожен выпольнятся один раз =)

Это сообщение отредактировал(а) Danox - 10.3.2006, 13:21
PM MAIL   Вверх
Guedda
Дата 10.3.2006, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 13
Всего: 78



Сделай так:
Код

if (file_exists("$file.txt"))
{ $f=file("$file.txt"); }
else { die("error!"); }

Добавлено @ 13:29
или так:
Код

if (file_exists("$file.txt"))
{ $f=file("$file.txt"); }
else {
          echo "error!"; 
          exit;
       }

Добавлено @ 13:29
Но лучше первый вариант


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Danox
Дата 10.3.2006, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


=)
*


Профиль
Группа: Участник
Сообщений: 190
Регистрация: 28.1.2006

Репутация: 1
Всего: 2



Спасибо smile
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0741 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.