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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вывод массива из строк в таблицу, сделал, но в конце выводит пару ошибок 
V
    Опции темы
zluka
Дата 20.3.2007, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Хочу вывести массив из строк в обыкновенную таблицу:
Код

 $colums = 7;        //кол-во столбцов
 $max_tr = 5;       //кол-во линий (строк)

 //этот массив будем выводить
 $massiv = array ("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15",       
                         "16","17","18","19","20","21","22","23","24","24","26","27","28","29","30","31");   

 echo "<table widht=300 border=1>";
 for($k=0; $k<count($massiv); $k++)                 
 {
  for($i=0; $i<$max_tr; $i++)                        //выводим нужное кол-во строк (<tr>)
  {
    echo "<tr>";
    for($j=0; $j<$colums; $j++)               //выводим нужное кол-во ячеек (<td>)
    {
        echo "<td>";
         echo $massiv[$k++];       
        echo "</td>";
    }
    echo "</tr>";
  }
  echo "</table>";
 }

Все вроде б то нормально вывело, только в конце почему-то пару ошибок добавило:
Код

1 2 3 4 5 6 7 
8 9 10 11 12 13 14 
15 16 17 18 19 20 21 
22 23 24 24 26 27 28 
29 30 31 
Notice: Undefined offset: 31 in Z:\home\localhost\www\SCRIPTS\PUZZLE_for_Hacker\1\1_10\firsta.php on line 26
 
Notice: Undefined offset: 32 in Z:\home\localhost\www\SCRIPTS\PUZZLE_for_Hacker\1\1_10\firsta.php on line 26
 
Notice: Undefined offset: 33 in Z:\home\localhost\www\SCRIPTS\PUZZLE_for_Hacker\1\1_10\firsta.php on line 26
 
Notice: Undefined offset: 34 in Z:\home\localhost\www\SCRIPTS\PUZZLE_for_Hacker\1\1_10\firsta.php on line 26

Почему? 
З.Ы. Хотя это не самый лучший вариант решения задачи  smile 

Это сообщение отредактировал(а) zluka - 20.3.2007, 21:02


--------------------
user posted image
PM MAIL   Вверх
szz
Дата 20.3.2007, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 31.5.2005
Где: Moscow, Jerusalem

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



Все очень прсто, ты со своими константами вылезаешь за пределы массива. Проверять ведь надо.
Пиши так:

Код

$count_massiv = count($massiv);
 for($k=0; $k<$count_massiv; $k++)                 
 {
  for($i=0; $i<$max_tr; $i++)                        //выводим нужное кол-во строк (<tr>)
  {
    if($k >= $count_massiv) break; // тут мы вылетим если вышли за границы
    echo "<tr>";
    for($j=0; $j<$colums; $j++)               //выводим нужное кол-во ячеек (<td>)
    {
        if($k >= $count_massiv) break; // тут мы вылетим если вышли за границы
        echo "<td>";
         echo $massiv[$k++];       
        echo "</td>";
    }
    echo "</tr>";
  }
  echo "</table>";
 }




--------------------
PM   Вверх
Serkys
Дата 20.3.2007, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Сделай перебор массива через foreach(). Так лучше будет.
Которая из них строка 26?
Согласись некрасиво:
Код

$massiv = array ("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15",       
                         "16","17","18","19","20","21","22","23","24","24","26","27","28","29","30","31");


Для этого есть специальная функция:
Код

$massiv = range (1, 31);

PM MAIL   Вверх
zluka
Дата 21.3.2007, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Serkys @  20.3.2007,  23:18 Найти цитируемый пост)
Которая из них строка 26?

Я извиняюсь, это вообще-то строка 17. (если смотреть на мой код выше)

А так, спасибо вам. smile 


--------------------
user posted image
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.0428 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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