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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Правильный вывод данных 
V
    Опции темы
eXa
Дата 9.7.2007, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Сдрасти, помогите с правильным выводам данных, никак неразберусь... smile 
Код

$file = "list.txt";
$list = file($file);
for ($i = 0; $i < sizeof ($list); $i++)
{
echo "list[$i]";
}


Содержание list.txt 
Код

1
2
...
10


Выводит в таком виде
Код

1 2 3 ... 10

а надо так 
Код

1
2
...
10


Или в другом случии, но с той же проблемой...
Код

$list=$_POST['list'];
$list= explode("\r\n",$list);
for($i=0;$i<count($list);$i++)
{
$list[$i]=trim($list[$i]);
echo "$list[$i];
}




Это сообщение отредактировал(а) eXa - 9.7.2007, 21:05
PM MAIL   Вверх
mishaSL
Дата 9.7.2007, 21:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 19
Всего: 54



Цитата(eXa @  9.7.2007,  21:03 Найти цитируемый пост)
Выводит в таком виде
Выделить всёБез подсветки
1:
    
1 2 3 ... 10

И это вполне логично. Для перевода корретки на новую строку используйте \n\r

Вот пример:
Код

$file = "list.txt";
$list = file($file);
foreach($list as $val) {
    print $val."\n\r";
}


Если необходимо перевод строки в html, то это <br />



--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
sTa1kEr
Дата 9.7.2007, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


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

Репутация: 56
Всего: 146



Цитата(mishaSL @  9.7.2007,  21:12 Найти цитируемый пост)
Для перевода корретки на новую строку используйте \n\r

Только наоборот, \r\n. Хотя это нужно только для просмотра некоторыми программами Windows (к примеру блокнот), в остальных же случаях достаточно будет \n.
PM MAIL   Вверх
eXa
Дата 10.7.2007, 02:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Извеняюсь! Ни так задал вопрос, как сделать перевод корретки используя определенную команду или их набор, а не теги... Вот код каторый по идее это должен делать, но ничё подобного не происходит, при проверки всё выводит в линейку
Код

$list=$_POST['list'];
$list= explode("\r\n",$list);
for($i=0;$i<count($list);$i++)
{
$list[$i]=trim($list[$i]);
echo "$list[$i];
}


Это сообщение отредактировал(а) eXa - 10.7.2007, 02:04
PM MAIL   Вверх
SelenIT
Дата 10.7.2007, 02:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

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



eXa, скажите-ка мне, как веб-девелопер веб-девелоперу: Вы HTML знаете?


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
eXa
Дата 10.7.2007, 02:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(SelenIT @ 10.7.2007,  02:17)
eXa, скажите-ка мне, как веб-девелопер веб-девелоперу: Вы HTML знаете?

Вы наверно имете ввиду про эту строчку
Код

$list= explode("\r\n",$list);

так вот в таком случии толку не больше
Код

$list= explode("<br/>",$list);


Если честно я так запутался уже чёт smile 

Или вот, что ему не даёт вывести массив... smile 
Код

$file = "list.txt";
$list = file($file);
for ($i = 0; $i < sizeof ($list); $i++)
{
$list = explode("\r\n",$list);
echo "$list[i]";
}
echo "Готово!";


Это сообщение отредактировал(а) eXa - 10.7.2007, 02:54
PM MAIL   Вверх
SelenIT
Дата 10.7.2007, 03:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

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



eXa, нет, та строчка как раз в порядке. Просто, насколько я понял, Вы наблюдаете "проблему" непосредственно в браузере. В то время как PHP формирует исходный код HTML-страницы. Там и надо смотреть все переносы. Либо выводить текст внутри тега <pre>...

Цитата(eXa @  10.7.2007,  02:49 Найти цитируемый пост)
Или вот, что ему не даёт вывести массив...

1) Массив появляется внутри цикла, который должен его выводить - не странно ли? Строка 5 явно должна быть выше строки 3.
2) В строке 6 $i пропущено. Да и кавычки там лишние.

Вообще отлаживать php-скрипты надо с error_reporting(E_ALL). А ночью лучше спать... ;)


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
eXa
Дата 10.7.2007, 06:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Я ща заплачу наверно... Прокыварялся всю ночь, а толку не слишком smile 
Ну вот же
Код

$list = file_get_contents( "list.txt" );
$list = explode(" ", $list);
for($i=0;$i<count($list);$i++)
{
                  echo $list[$i];

}


В строчки номер один получаю 
Код

1 2 3 ... n

В строчки номер два должен получить
Код

1
2
3
...
n


Вот даже пример из фака по php
Код

// Example 1
$pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2


Нет получаю, не пойми что... И тег <pre> не помогает
Может какая альтернатива есть  explode ???
PM MAIL   Вверх
SelenIT
Дата 10.7.2007, 06:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

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



Цитата(eXa @  10.7.2007,  06:13 Найти цитируемый пост)
В строчки номер два должен получить...

Не должен. Элементы массива ж там выводятся в абсолютно "голом" виде - без каких-либо разделителей...


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Gold Dragon
Дата 10.7.2007, 08:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



Вообще не понимаю про что разговор... только всё запутали.. Что нужно то???

Если выводить в самом HTML то <br>, если, например, в <textarea> то "\r\n"

У меня есть две функции
Код

function validTextHtml($text){
//********************************************************************
// функция для конвертирования конца строки в <br>
//********************************************************************
    $result = str_replace(array("\r\n", "\r", "\n"),"<br>", trim($text));
    return $result;
}

function validHtmlText($text){
//********************************************************************
// функция для конвертирования <br> в конец строки
//********************************************************************
    $result = str_replace("<br>","\r\n", $text);
    return $result;
}





--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
sTa1kEr
Дата 10.7.2007, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


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

Репутация: 56
Всего: 146



eXa
Код

$list = file_get_contents("list.txt");
echo nl2br($list);

Краткость - сестра таланта.

Цитата(eXa @  10.7.2007,  06:13 Найти цитируемый пост)
Может какая альтернатива есть  explode ??? 

Вы не правильно понимаете смысл работы этой функции. То что она разбивает строку на массив, вовсе не значит, что написав
Цитата(eXa @  10.7.2007,  06:13 Найти цитируемый пост)
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2

каждый элемент будет в браузере выводится на новой строке. Изучте HTML и почитайте мануал по PHP.
PM MAIL   Вверх
eXa
Дата 10.7.2007, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Спасибо, за пояснение, плюс вам,правда сотни постов нету... smile 
Но самое обидное, что скрипт работает правильно, а письма не рассылаются, пачиму для меня это ешё большая загадка и неясность опять же скрывается где то в этом участке, тк если место $list[$i] в 7 строчки подставить существующий маил, то письмо дойдёт. В цикле рассылка не работает smile 
Код

$list = file_get_contents( "maillist.txt" );
$list = nl2br($list);
$list = explode("<br/>", $list);
 for($i=0;$i<count($list);$i++)
  {
   $list[$i] = strip_tags($list[$i]);  
   $mail->AddAddress($list[$i]);
   $mail->send();
   echo $list[$i];
  }


Это сообщение отредактировал(а) eXa - 10.7.2007, 22:25
PM MAIL   Вверх
sTa1kEr
Дата 11.7.2007, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


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

Репутация: 56
Всего: 146



eXa, теперь понятно, что вам требуется smile В maillist.txt, как я понимаю, каждый e-mail находится на новой строчке, так? Тогда сначала разбиваем его на массив и в цикле шлем письма.
Код

$list = file_get_contents( "maillist.txt" );
// $list = nl2br($list); Тогда это тут не нужно, т.к. проще разбить по символу переносастрок - \n
$list = explode("\n", $list);
for($i=0;$i<count($list);$i++)
{
   $list[$i] = strip_tags($list[$i]);
   $mail->AddAddress($list[$i]);
   $mail->send();
   echo $list[$i]."<br />"; // Не забываем про <br /> что бы каждый вывод был на новой строке
}

PM MAIL   Вверх
eXa
Дата 11.7.2007, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Так приходят, но всё дело в том, что одно и тоже письмо приходит ровно столько раз, сколько майлов содержится в текстовам файле, причём в графе Кому: видно следующие:
Код

[email protected], [email protected] ... [email protected]

Тоесть весь список майлов в строчкуsmile

Это сообщение отредактировал(а) eXa - 11.7.2007, 20:02
PM MAIL   Вверх
sTa1kEr
Дата 11.7.2007, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


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

Репутация: 56
Всего: 146



$mail->send(); вынесите за цикл. Т.е. на 11ую строчку.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

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

Важно:

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

Внимание:

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

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

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


 




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


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

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