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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вывод содержания файла 
:(
    Опции темы
Igor_CH
Дата 12.4.2005, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



У меня файл с таким содержимым:
Код

Переменная1::Переменная2:: Переменная3:: Переменная4:: Переменная5::
Переменная1::Переменная2:: Переменная3:: Переменная4:: Переменная5::
Переменная1::Переменная2:: Переменная3:: Переменная4:: Переменная5::
Переменная1::Переменная2:: Переменная3:: Переменная4:: Переменная5::
Переменная1::Переменная2:: Переменная3:: Переменная4:: Переменная5::


Считываю таким образом:

Код

$data_array = file("data/file.dat");
        if (count($data_array) != 0):
                $lines = count ($data_array);  //кол-во строчек в файле
for($i=0;$i<=$lines-1;$i++)
                        {
list($переменная1, $переменная2, $переменная3, $переменная4, $переменная5)= explode("::", $data_array[$i]);


и дальше вывожу
Код

echo "<table><tr><td>$переменная1</td><td>$переменная2</td><td>$переменная3</td><td>$переменная4</td><td>$переменная5</td></tr></table>";

Выводятся столько таблиц сколько строк в файле. Выводится одна таблица под другой. А как сделать что бы выводилось, например, 4 таблицы по горизонтали и далее вниз?

PM MAIL   Вверх
Akina
Дата 12.4.2005, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


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

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



Код

echo "<table>";
for ($i=0;$i<=$lines-1;$i++)
{
echo"<tr><td>$переменная1</td><td>$переменная2</td><td>$переменная3</td><td>$переменная4</td><td>$переменная5</td></tr>"
}
echo "</table>";



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Irokez
Дата 12.4.2005, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


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

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



Цитата(Igor_CH @ 12.4.2005, 16:26)
А как сделать что бы выводилось, например, 4 таблицы по горизонтали и далее вниз?

это лучше средствами HTML сделать. выводить каждую таблицу в DIVах, которым задать ширину 25% от экрана и float: left ...
PM   Вверх
Igor_CH
Дата 13.4.2005, 07:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Akina так не получается
Irokez с помощью html не получится сделать

Может меня немного не так поняли, я хочу сделатьт так:

Код

<tr><td>Таблица_Первой_строки</td><td>Таблица_Втотрой_строки</td><td><td>Таблица_Третьей_строки</td></tr>
<tr><td>Таблица_Четвертой_строки</td><td>Таблица_Пятой_строки</td><td><td>Таблица_Шестой_строки</td></tr>
и т.д.

PM MAIL   Вверх
IZ@TOP
Дата 13.4.2005, 08:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

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



Igor_CH, так тебе Ирокез правильно сказал :

Код

<table width="100%">
<tr><td>

<div style="width:30%; float:left;">$переменная1</div><div style="width:30%; float:left;">$переменная1</div><div style="width:30%; float:left;">$переменная1</div>

</td></tr>
</table>



--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Igor_CH
Дата 13.4.2005, 08:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



вот такой код получается:
Код

<table width="100%">
<tr><td>
<div style="width:30%; float:left;"><? echo "$name"; ?></div><div style="width:30%; float:left;"><? echo "$name"; ?></div><div style="width:30%; float:left;"><? echo "$name"; ?></div>
</td></tr>
</table>

Вот что мы видем в браузере:
Переменная1($name)_ПЕРВОЙ_строки | Переменная1($name)_ПЕРВОЙ_строки | Переменная1($name)_ПЕРВОЙ_строки

а я хочу
Переменная1($name)_ПЕРВОЙ_строки | Переменная1($name)_ВТОРОЙ_строки | Переменная1($name)_ТРЕТЕЙ_строки
PM MAIL   Вверх
Akina
Дата 13.4.2005, 09:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


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

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



Цитата(Igor_CH @ 13.4.2005, 08:49)
Akina так не получается

Как объяснил, так и получил. Я до сих пор не понимаю какого тебе нужно - хоть ты даже пример привел. Какой-то он невразумительный... или ты просто транспонировать массив не можешь?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Igor_CH
Дата 13.4.2005, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



получился такой код:
Код

<?php
echo "<table>"."\n";
echo "<tr>"."\n";
      
$data_array = file("data/file.dat");
$lines = count ($data_array);  //кол-во строчек в файле
$i=0;
while ($i <=$lines-1)
                
                        {

$cols = "3"; //кол-во колонок                   
if (is_int($i / $cols)) {
                        
list($name,$name1,$name2,$name3,$name4,$name5,$name6)= explode("::", $data_array[$i]);
echo "<td>";?><? echo "$name1</td>"."\n";
echo "</tr><tr>"."\n";                        
                     }
else
{
list($name,$name1,$name2,$name3,$name4,$name5,$name6)= explode("::", $data_array[$i]);
echo "<td>";?><? echo "$name1</td>"."\n";
}
$i++;
  }
echo "</tr>"."\n";
echo "</table>"."\n";                        
?>

файл file.dat
имеет такое содержание
1::2::3::4::5::6
1::2::3::4::5::6
1::2::3::4::5::6
т.е. $name1 =1, $name2 =2, ....

Вывод на экране получается такой:
1
2 3 4
5 6 7
8 9

Почему первая строка отдельна от всех?
PM MAIL   Вверх
InfMag
Дата 14.4.2005, 06:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


…
***


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

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



Igor_CH
15: list($name,$name1,$name2,$name3,$name4,$name5,$name6)= explode("::", $data_array[$i]);
16: echo "<td>";?><? echo "$name1</td>"."\n";
17: echo "</tr><tr>"."\n";
Потому что ты сначала пишешь <tr> тока с одним <td>.
Вот попробуй:
Код

<?php
$data_array = file("data/file.dat");
$lines = sizeof($data_array);
echo "<table>\n";
echo "<tr>\n";
for ($i=0; $i<=$lines-1; $i++)
{
    $cols = "3";
    if (is_int($i / $cols))
    {
        list($name,$name1,$name2,$name3,$name4,$name5,$name6) = explode("::", $data_array[$i]);
        echo "<td>$name1</td>\n";
        echo "</tr>\n<tr>\n";
    } else {
        list($name,$name1,$name2,$name3,$name4,$name5,$name6) = explode("::", $data_array[$i]);
        echo "<td>$name1</td>\n";
    }
}
echo "</tr>\n";
echo "</table>\n";
?>


Это сообщение отредактировал(а) InfMag - 14.4.2005, 07:00
PM   Вверх
Igor_CH
Дата 14.4.2005, 09:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Все ровно получается
1
2 3 4
5 6 7
8 9
если в этой строке for ($i=0; $i<=$lines-1; $i++) поменять $i=0 на $i=1 то
2 3 4
5 6 7
8 9
но мне надо что бы и первая строка читалась
PM MAIL   Вверх
InfMag
Дата 14.4.2005, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


…
***


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

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



Igor_CH
Я так толком и не понял, что тебе нужно. Покажи какой результат должен быть уже в HTML из:
1::2::3::4::5::6
1::2::3::4::5::6
1::2::3::4::5::6
PM   Вверх
Igor_CH
Дата 14.4.2005, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



в html
<tr><td>1,2,3,4,5,6(ПЕРВОЙ СТРОКИ)</td><td>1,2,3,4,5,6(ВТОРОЙ СТРОКИ)</td><td>1,2,3,4,5,6(ТРЕТЕЙ СТРОКИ)</td></tr>
<tr><td>1,2,3,4,5,6(ЧЕТВЕРТОЙ СТРОКИ)</td><td>1,2,3,4,5,6(ПЯТОЙ СТРОКИ)</td><td>1,2,3,4,5,6(ШЕСТОЙ СТРОКИ)</td></tr>
и т.д.

т.е. в каждой я чейки ОДНА СТРОКА

P.S. извеняюсь сложно расказать
PM MAIL   Вверх
InfMag
Дата 14.4.2005, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


…
***


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

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



Igor_CH
Цитата
P.S. извеняюсь сложно расказать

Нет, щас уже попонятей будет, а то ты писал:
Цитата
echo "<table><tr><td>$переменная1</td><td>$переменная2</td><td>$переменная3</td><td>$переменная4</td><td>$переменная5</td></tr></table>";

Вот я и думал: а где же тут проблема?

Итак, щас поковыряю. smile
PM   Вверх
InfMag
Дата 14.4.2005, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


…
***


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

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



Вроде вот, если я тебя правильно понял:
Файл "data/file.dat":
Код

1::2::3::4::5::6::
1::2::3::4::5::6::
1::2::3::4::5::6::
1::2::3::4::5::6::
1::2::3::4::5::6::
1::2::3::4::5::6::
1::2::3::4::5::6::
1::2::3::4::5::6::
1::2::3::4::5::6::
1::2::3::4::5::6::
1::2::3::4::5::6::
1::2::3::4::5::6::

Отмечаю: Ставь в конце каждой строчки еще ::, потому, что, если ты эту фигню не ставишь, то он пробел к 6-и приставит, или даже может \n поставить. smile
Сам файл PHP:
Код

<?php
$data_array = file("data/file.dat");
$lines = sizeof($data_array);
echo "<table>\n";
echo "<tr>\n";
for ($i=1; $i<=$lines; $i++)
{
    $name = explode("::", $data_array[$i-1]);
    $cols = "3";
    echo "<td>$name[0], $name[1], $name[2], $name[3], $name[4], $name[5]</td>\n";
    if ($i%$cols == 0 && $i != $lines) echo "</tr>\n<tr>\n";
}
echo "</tr>\n";
echo "</table>\n";
?>

PM   Вверх
Igor_CH
Дата 15.4.2005, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Спасибо так получилось!
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.

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


 




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


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

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