Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вывод текста в таблицу из 5 колонок

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: помогите я вообще не шарю
Lexas84
Отправлено: 09 Сентября, 2018 - 05:32:56
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Сент. 2018  


Помог: 0 раз(а)




Мне нужно что бы из текстового файла где перечислен список номеров телефонов информация выводилось в таблицу из пяти колонок я просто вообще не шарю (программировал еще в школе на паскале потом забросил)
вычитал и поставил такой код
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2.    # Путь к файлу
  3.    $file_name = "имя файла.csv";
  4.    
  5.    # Считываем информацию по строкам
  6.    $data = file( $file_name );
  7. ?>
  8. <table style="font: 26px Times New Roman"; border="1">
  9. <?php
  10.    # В цикле обходим массив данных
  11.    foreach( $data as $value ):
  12.    
  13.        # Разбиваем строку по |
  14.        $value = explode( ";", $value );
  15. ?>
  16.     <tr>
  17.         <td><?=$value[0]?></td>
  18.         <td><?=$value[1]?></td>
  19.         <td><?=$value[2]?></td>
  20.         <td><?=$value[3]?></td>
  21.         <td><?=$value[4]?></td>
  22.     </tr>
  23. <?php
  24.    endforeach;
  25. ?>
  26. </table>

файл такого плана:
89314444444;89345555555;89665555555;89816666666;89925555555
89324444444;89382222222;89694444444;89845555555;89942222222
89326666666;89664444444;89813333333;89865555555;89945555555
Но перед этим мне приходится его преобразовывать через excel
Как сразу использовать такой текст
89664444444
89945555555
89694444444
89345555555
89845555555
89865555555
89925555555
89665555555
89382222222
89324444444
89326666666
89314444444
89942222222
89816666666
89813333333

Понимаю что вопрос тупой и банальный но не могу найти ответ
Понимаю что надо учить но для того что бы начинать с нуля сейчас нет времени


Отредактировано модератором: armancho7777777, 09 Сентября, 2018 - 13:32:59
 
 Top
Vladimir Kheifets
Отправлено: 09 Сентября, 2018 - 16:35:45
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 37 раз(а)




Добрый день!
Попробуйте так:
Спойлер (Отобразить)
Удачи!


Отредактировано модератором: armancho7777777, 10 Сентября, 2018 - 16:57:37
 
 Top
Lexas84
Отправлено: 10 Сентября, 2018 - 20:22:15
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Сент. 2018  


Помог: 0 раз(а)




Большое спасибо
(Добавление)
работает
но если кол-во не кратно 5 перед таблицей выдает
Notice: Undefined offset: 423 in /var/www/vipnomer/data/www/xn--2 6-dlcmoygiho.xn--p1ai/1000-tp700 .php on line 55

Notice: Undefined offset: 424 in /var/www/vipnomer/data/www/xn--2 6-dlcmoygiho.xn--p1ai/1000-tp700 .php on line 55
 
 Top
teleoperator27
Отправлено: 11 Сентября, 2018 - 00:59:19
Post Id



Посетитель


Покинул форум
Сообщений всего: 265
Дата рег-ции: Янв. 2017  


Помог: 21 раз(а)




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.    $file_name = "имя файла.csv";
  3.    $data = file( $file_name );
  4. ?>
  5. <table style="font: 26px Times New Roman"; border="1">
  6. <?PHP
  7.    foreach( $data as $value ):
  8.        $value = explode( ";", $value );
  9.          foreach( $value as $v ):
  10. ?>
  11.     <tr>
  12.         <td><?=$v[0]?></td>
  13.         <td><?=$v[1]?></td>
  14.         <td><?=$v[2]?></td>
  15.         <td><?=$v[3]?></td>
  16.         <td><?=$v[4]?></td>
  17.     </tr>
  18. <?PHP
  19.        endforeach;
  20.    endforeach;
  21. ?>
  22. </table>
 
My status
 Top
Lexas84
Отправлено: 11 Сентября, 2018 - 04:21:27
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Сент. 2018  


Помог: 0 раз(а)




teleoperator27 пишет:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.    $file_name = "имя файла.csv";
  3.    $data = file( $file_name );
  4. ?>
  5. <table style="font: 26px Times New Roman"; border="1">
  6. <?PHP
  7.    foreach( $data as $value ):
  8.        $value = explode( ";", $value );
  9.          foreach( $value as $v ):
  10. ?>
  11.     <tr>
  12.         <td><?=$v[0]?></td>
  13.         <td><?=$v[1]?></td>
  14.         <td><?=$v[2]?></td>
  15.         <td><?=$v[3]?></td>
  16.         <td><?=$v[4]?></td>
  17.     </tr>
  18. <?PHP
  19.        endforeach;
  20.    endforeach;
  21. ?>
  22. </table>


что то пошло не так он считывает первую цифру от номера и выводит в первый столбец вторую во второй .... пятую в пятый!! такая таблица
8 9 3 1 4
8 9 3 1 4
8 9 3 1 4

надо что бы файл из n считало в одномерный массив A из n элементов и вывело в таблицу
из 5 ти колонок
A(0) A(1) A(2) A(3) A(4)
A(5) (A6) ...........
..............A(n).
как то так
(Добавление)
Vladimir Kheifets пишет:
Добрый день!
Попробуйте так:
Спойлер (Отобразить)
Удачи!

Большое спасибо
(Добавление)
работает
но если кол-во не кратно 5 перед таблицей выдает
Notice: Undefined offset: 423 in /var/www/vipnomer/data/www/xn--2 6-dlcmoygiho.xn--p1ai/1000-tp700 .php on line 55

Notice: Undefined offset: 424 in /var/www/vipnomer/data/www/xn--2 6-dlcmoygiho.xn--p1ai/1000-tp700 .php on line 55

(Отредактировано автором: 11 Сентября, 2018 - 04:22:47)

 
 Top
teleoperator27
Отправлено: 11 Сентября, 2018 - 12:12:26
Post Id



Посетитель


Покинул форум
Сообщений всего: 265
Дата рег-ции: Янв. 2017  


Помог: 21 раз(а)




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $file_name = "имя файла.csv";
  3. $data      = file( $file_name );
  4. function array_chunk_assoc($array, $n = 5)
  5. {
  6.         $i         = 1;
  7.         $j         = 0;
  8.         $new_array = array();
  9.         foreach ($array as $k => $v) {
  10.                 $new_array[$j][$i] = $v;
  11.                 if (($k + 1) % $n == 0) {
  12.                         $i = 0;
  13.                         $j++;
  14.                 }
  15.  
  16.                 $i++;
  17.         }
  18.         return $new_array;
  19. }
  20. $array = array_chunk_assoc($data, 5);
  21. ?>
  22.  
  23. <table style="font: 26px Times New Roman;" border="1">
  24.         <?PHP
  25.                 foreach ($array as $value): ?>
  26.                         <tr>
  27.                                 <td><?=$value[1]?></td>
  28.                                 <td><?=$value[2]?></td>
  29.                                 <td><?=$value[3]?></td>
  30.                                 <td><?=$value[4]?></td>
  31.                                 <td><?=$value[5]?></td>
  32.                         </tr>
  33.         <?PHP
  34.                 endforeach?>
  35. </table>
 
My status
 Top
Lexas84
Отправлено: 13 Сентября, 2018 - 11:24:08
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Сент. 2018  


Помог: 0 раз(а)




teleoperator27 пишет:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $file_name = "имя файла.csv";
  3. $data      = file( $file_name );
  4. function array_chunk_assoc($array, $n = 5)
  5. {
  6.         $i         = 1;
  7.         $j         = 0;
  8.         $new_array = array();
  9.         foreach ($array as $k => $v) {
  10.                 $new_array[$j][$i] = $v;
  11.                 if (($k + 1) % $n == 0) {
  12.                         $i = 0;
  13.                         $j++;
  14.                 }
  15.  
  16.                 $i++;
  17.         }
  18.         return $new_array;
  19. }
  20. $array = array_chunk_assoc($data, 5);
  21. ?>
  22.  
  23. <table style="font: 26px Times New Roman;" border="1">
  24.         <?PHP
  25.                 foreach ($array as $value): ?>
  26.                         <tr>
  27.                                 <td><?=$value[1]?></td>
  28.                                 <td><?=$value[2]?></td>
  29.                                 <td><?=$value[3]?></td>
  30.                                 <td><?=$value[4]?></td>
  31.                                 <td><?=$value[5]?></td>
  32.                         </tr>
  33.         <?PHP
  34.                 endforeach?>
  35. </table>

работает. но опять если количество строк не кратно 5 то выдает ошибки только на этот раз в самой таблице. может перед выводом значения сделать проверку если оно отлично от нуля то его выводить иначе пропустить??
 
 Top
Lexas84
Отправлено: 13 Сентября, 2018 - 11:29:23
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Сент. 2018  


Помог: 0 раз(а)




вот такая ошибка
Прикреплено изображение (Нажмите для увеличения)
оши.jpg
 
 Top
difight
Отправлено: 13 Сентября, 2018 - 12:02:59
Post Id



Посетитель


Покинул форум
Сообщений всего: 355
Дата рег-ции: Нояб. 2011  


Помог: 3 раз(а)




isset()
 
My status
 Top
teleoperator27
Отправлено: 13 Сентября, 2018 - 12:05:21
Post Id



Посетитель


Покинул форум
Сообщений всего: 265
Дата рег-ции: Янв. 2017  


Помог: 21 раз(а)




Lexas84 пишет:
может перед выводом значения сделать проверку если оно отлично от нуля то его выводить иначе пропустить??
ну сделай, кто мешает
PHP:
скопировать код в буфер обмена
  1.         <?PHP foreach ($array as $value): ?>
  2.                         <tr>
  3.                                 <td><?if(isset($value[1])) echo $value[1]?></td>
  4.                                 <td><?if(isset($value[2])) echo $value[2]?></td>
  5.                                 <td><?if(isset($value[3])) echo $value[3]?></td>
  6.                                 <td><?if(isset($value[4])) echo $value[4]?></td>
  7.                                 <td><?if(isset($value[5])) echo $value[5]?></td>
  8.                         </tr>
  9.         <?PHP endforeach?>

(Отредактировано автором: 13 Сентября, 2018 - 12:06:36)

 
My status
 Top
Lexas84
Отправлено: 14 Сентября, 2018 - 00:05:08
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Сент. 2018  


Помог: 0 раз(а)




Огромное спасибо!! Всё работает!!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Прочее »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB