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 :: как разделить слова по табличкам

 PHP.SU

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


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

> Описание: как разделить слова по табличкам
leon2009sp
Отправлено: 14 Февраля, 2020 - 05:30:56
Post Id


Новичок


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


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




Здравствуйте! как сделать все слова на А в одной таблице html, все слова на Б в другой таблице html, чтобы было 4 столбца. и Н строк. Спасибо!.

пробовал так: Закатив глазки

PHP:
скопировать код в буфер обмена
  1. echo '<table border="1">
  2. <tr>
  3. <td>1</td>
  4. <td>2</td>
  5. <td>3</td>
  6. <td>4</td>
  7. ';
  8. $arr = array('Actona', 'Aricasa', 'ARTE Lamp', 'Apollo', 'Anli', 'BONTEMPI', 'BelVase', 'Beal. Real', 'Blonder Home', 'Casa Vera', 'ClassicFlame', 'Easyfurn', 'FMD', 'Fif', 'FENICE', 'Forma Ideale', 'Friedrich von der Kohlen', 'Flocmat', 'FRAMAR', 'Garantie Mobel', 'Gumexpo', 'Globo', 'Germania', 'GIMI', 'Honsel', 'Haku', 'Heinz Hofmann', 'IMV-Steinheim', 'INNOVATION', 'InterFlame', 'Komforta Mobel', 'KESPER', 'Myflair', 'Marquis', 'Martini spa', 'NATISA', 'Nikotex', 'O&G', 'ODISO', 'Paroli', 'Pushe', 'PRISMEA', 'Polster Luxe', 'PICARD & WIELPUTZ', 'Primavelle', 'Pinella', 'Rinos', 'Ravel', 'Solutions', 'Sobranie', 'SSW', 'Trio', 'Vental', 'ZELLER');
  9.  
  10.  
  11. $letter='';
  12. foreach($arr as $r){
  13.     if($letter!=$r[0]){
  14.     $letter=$r[0];          
  15.     echo '<h1>',strtoupper($letter),'</h1>';
  16.     }
  17.     echo '<td><br />название:', $r,'</td></tr>';
  18. }
  19. echo '</table>';


пробовал так: Закатив глазки

PHP:
скопировать код в буфер обмена
  1. $xml = simplexml_load_file("xml1.xml") or die("Error: Cannot create object");
  2. echo "<table>
  3. ";
  4. if(!empty($xml->link->page))
  5. {
  6.         $agrs = $xml->link->page;
  7.         foreach ($agrs as $vals)
  8. {
  9. echo "<tr><td><a href='111.php'>$vals</a></td></tr>";
  10. }
  11. }
  12. echo "</table>";


но только рисунки в виде пирамид. Растерялся
а хотелось получить такое:

CODE (html):
скопировать код в буфер обмена
  1. <table>
  2. <tr>
  3. <td>aaaa, aaaa, aaaa, aaaa </td>
  4. <td>bbb bbbb  bbbb  bbbb</td>
  5. <td>cccc ccccc cccccc ccccc </td>
  6. <td>ddddd ddddd dddd dddd</td>
  7. </tr>
  8. <tr>
  9. <td>eeeeee eeee eee </td>
  10. <td>ffff fff ffff  ffff</td>
  11. <td>jjjjjj jjjjjjj jjjj </td>
  12. <td>hhhhh hhhhh hhhh</td>
  13. </tr>
  14. <tr>
  15. <td>оооооооооо</td>
  16. <td>жжжжжжжж</td>
  17. <td>иииииииии </td>
  18. <td>ккккккккккк</td>
  19. </tr>
  20. <tr>
  21. <td>ллллллллл</td>
  22. <td>ffff fff ffff  ffff</td>
  23. <td>jjjjjj jjjjjjj jjjj </td>
  24. <td>hhhhh hhhhh hhhh</td>
  25. </tr>
  26. </table>

(Отредактировано автором: 14 Февраля, 2020 - 05:32:01)

 
 Top
Vladimir Kheifets
Отправлено: 14 Февраля, 2020 - 10:00:04
Post Id



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


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


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




leon2009sp пишет:
Здравствуйте! как сделать все слова на А в одной таблице html, все слова на Б в другой таблице html, чтобы было 4 столбца. и Н строк. Спасибо!.

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

(Отредактировано автором: 14 Февраля, 2020 - 10:00:58)

 
 Top
leon2009sp
Отправлено: 14 Февраля, 2020 - 17:08:42
Post Id


Новичок


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


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




он ругается на:
Растерялся
 
 Top
Vladimir Kheifets
Отправлено: 14 Февраля, 2020 - 17:43:47
Post Id



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


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


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




leon2009sp пишет:
он ругается на:
Растерялся

У Вас неактульная версия PHP
Замените на
 
 Top
LIME
Отправлено: 14 Февраля, 2020 - 18:08:14
Post Id


Активный участник


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


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




если данные уже отсортированы можно и без промежуточного накопления обойтись
 
 Top
Vladimir Kheifets
Отправлено: 14 Февраля, 2020 - 20:44:54
Post Id



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


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


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




leon2009sp пишет:
Здравствуйте! как сделать все слова на А в одной таблице html, все слова на Б в другой таблице html, чтобы было 4 столбца. и Н строк. Спасибо!.

LIME пишет:
если данные уже отсортированы можно и без промежуточного накопления обойтись

Покажите код...
 
 Top
leon2009sp
Отправлено: 14 Февраля, 2020 - 20:46:22
Post Id


Новичок


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


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




Огорчение а как мне это все в таблицу запихнуть?
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $arr = array('Actona', 'Aricasa', 'ARTE Lamp', 'Apollo', 'Anli', 'BONTEMPI', 'BelVase', 'Beal. Real', 'Blonder Home', 'Casa Vera', 'ClassicFlame', 'Easyfurn', 'FMD', 'Fif', 'FENICE', 'Forma Ideale', 'Friedrich von der Kohlen', 'Flocmat', 'FRAMAR', 'Garantie Mobel', 'Gumexpo', 'Globo', 'Germania', 'GIMI', 'Honsel', 'Haku', 'Heinz Hofmann', 'IMV-Steinheim', 'INNOVATION', 'InterFlame', 'Komforta Mobel', 'KESPER', 'Myflair', 'Marquis', 'Martini spa', 'NATISA', 'Nikotex', 'O&G', 'ODISO', 'Paroli', 'Pushe', 'PRISMEA', 'Polster Luxe', 'PICARD & WIELPUTZ', 'Primavelle', 'Pinella', 'Rinos', 'Ravel', 'Solutions', 'Sobranie', 'SSW', 'Trio', 'Vental', 'ZELLER');
  3. $index=array();
  4. //$index=[];
  5. foreach($arr as $v)
  6. {
  7.         $first=substr($v,0,1);
  8.         $index[$first][]=$v;
  9.                 echo "<table><tr><td>",$v,"</td></tr></table>";
  10. }
  11. ksort($index);
  12. echo "<pre>";
  13. print_r($index);
  14. ?>

в самом начале то что пытался сделать, но выходят пирамиды.

(Отредактировано автором: 14 Февраля, 2020 - 20:48:52)

 
 Top
LIME
Отправлено: 14 Февраля, 2020 - 21:38:15
Post Id


Активный участник


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


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




Vladimir Kheifets сейчас не покажу
Либо ждать воскресенье либо подумайте над условием $oldFirstLetter !== $itemFirstLetter
И по условию вставлять tr
Делал не единожды на заре карьеры в 2011 примерно
Покажу если сам не допрешь
 
 Top
leon2009sp
Отправлено: 15 Февраля, 2020 - 17:54:13
Post Id


Новичок


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


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




PHP:
скопировать код в буфер обмена
  1. <?PHP  
  2. $arr = array('Actona', 'Aricasa', 'ARTE Lamp', 'Apollo', 'Anli', 'BONTEMPI', 'BelVase', 'Beal. Real', 'Blonder Home', 'Casa Vera', 'ClassicFlame', 'Easyfurn', 'FMD', 'Fif', 'FENICE', 'Forma Ideale', 'Friedrich von der Kohlen', 'Flocmat', 'FRAMAR', 'Garantie Mobel', 'Gumexpo', 'Globo', 'Germania', 'GIMI', 'Honsel', 'Haku', 'Heinz Hofmann', 'IMV-Steinheim', 'INNOVATION', 'InterFlame', 'Komforta Mobel', 'KESPER', 'Myflair', 'Marquis', 'Martini spa', 'NATISA', 'Nikotex', 'O&G', 'ODISO', 'Paroli', 'Pushe', 'PRISMEA', 'Polster Luxe', 'PICARD & WIELPUTZ', 'Primavelle', 'Pinella', 'Rinos', 'Ravel', 'Solutions', 'Sobranie', 'SSW', 'Trio', 'Vental', 'ZELLER');
  3. $index=array();//$index=[];
  4. foreach($arr as $v)
  5. {
  6.  $first=substr($v,0,1);
  7. $index[$first][]=$v;                
  8. }      
  9. for ($i = 0; $i <= count($arr); $i++)
  10. {
  11. echo $arr[$i]." ";
  12. $rows = count($arr);
  13. }
  14. //ksort($index);
  15. //echo "<pre>";
  16. //print_r($index);
  17. //$rows = 20; // количество строк, tr
  18. $cols = 4; // количество столбцов, td
  19. $table = '<table border="1">';
  20. for ($tr=1; $tr<=$rows; $tr++){
  21. $table .= '<tr>';
  22. for ($td=1; $td<=$cols; $td++){
  23. $table .= '<td>'.$i.'</td>';
  24. }
  25.  $table .= '</tr>';
  26. }
  27. $table .= '</table>';
  28. echo $table; // сделали эхо всего 1 раз
  29. ?>
 
 Top
Vladimir Kheifets
Отправлено: 15 Февраля, 2020 - 20:00:15
Post Id



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


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


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




leon2009sp пишет:
Огорчение а как мне это все в таблицу запихнуть?[
в самом начале то что пытался сделать, но выходят пирамиды.

LIME пишет:
Vladimir Kheifets сейчас не покажу
Либо ждать воскресенье либо подумайте над условием $oldFirstLetter !== $itemFirstLetter
И по условию вставлять tr
Делал не единожды на заре карьеры в 2011 примерно
Покажу если сам не допрешь

Добрый день!
Славу Богу сейчас не 2011 год и можно обойтись без таблиц даже если очень хочется в четыре столбца без пирамид.
Это код с HTML,CSS PHP:
Спойлер (Отобразить)
результат на скриншоте.
Удачи!
Прикреплено изображение (Нажмите для увеличения)
Anmerkung 2020-02-15 185722.png

(Отредактировано автором: 15 Февраля, 2020 - 20:02:22)

 
 Top
leon2009sp
Отправлено: 16 Февраля, 2020 - 16:16:52
Post Id


Новичок


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


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




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $arr = array('Actona', 'Aricasa', 'ARTE Lamp', 'Apollo', 'Anli', 'BONTEMPI', 'BelVase', 'Beal. Real', 'Blonder Home', 'Casa Vera', 'ClassicFlame', 'Easyfurn', 'FMD', 'Fif', 'FENICE', 'Forma Ideale', 'Friedrich von der Kohlen', 'Flocmat', 'FRAMAR', 'Garantie Mobel', 'Gumexpo', 'Globo', 'Germania', 'GIMI', 'Honsel', 'Haku', 'Heinz Hofmann', 'IMV-Steinheim', 'INNOVATION', 'InterFlame', 'Komforta Mobel', 'KESPER', 'Myflair', 'Marquis', 'Martini spa', 'NATISA', 'Nikotex', 'O&G', 'ODISO', 'Paroli', 'Pushe', 'PRISMEA', 'Polster Luxe', 'PICARD & WIELPUTZ', 'Primavelle', 'Pinella', 'Rinos', 'Ravel', 'Solutions', 'Sobranie', 'SSW', 'Trio', 'Vental', 'ZELLER');
  3. $letter='';
  4. $rows = 1; // количество строк, tr
  5. $cols = 4; // количество столбцов, td
  6. echo '<table border="1">';
  7. for ($tr=1; $tr<=$rows; $tr++)
  8. {
  9. echo '<tr>';
  10. for ($td=1; $td<=$cols; $td++){ // в этом цикле счётчик $td аналогичен
  11.                                     // счётчику $tr.
  12.         echo '<td>';
  13. foreach($arr as $r){
  14.     if($letter!=$r[0]){
  15.     $letter=$r[0];          
  16.     echo '<h1>',strtoupper($letter),'</h1>';
  17.     }
  18.     echo '<br />название:', $r,'';
  19. }
  20. }
  21. echo '</td></tr>';
  22. }
  23. echo '</table>';
  24. ?>

почти получилось Огорчение
 
 Top
Vladimir Kheifets
Отправлено: 16 Февраля, 2020 - 19:33:34
Post Id



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


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


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




leon2009sp пишет:
Спойлер (Отобразить)

почти получилось Огорчение
Почти получилось, значит скоро Вами будет найдено верное решение и его можно будет увидеть.
 
 Top
leon2009sp
Отправлено: 16 Февраля, 2020 - 21:09:25
Post Id


Новичок


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


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




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $xml = simplexml_load_file("xml/db.xml") or die("Error: Cannot create object");
  3. echo "<table border=1><tr>";
  4. if(!empty($xml->link->page))
  5. {
  6.     $agrs = $xml->link->page;
  7.     foreach ($agrs as $vals)
  8. {
  9. echo "<td><a href=$vals[name] >$vals</a></td>";
  10. }
  11. echo "</tr>";
  12. }
  13. echo "</table>";
  14. ?>

даже в одну линию получилось Хм Растерялся
 
 Top
Vladimir Kheifets
Отправлено: 17 Февраля, 2020 - 07:37:57
Post Id



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


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


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




leon2009sp пишет:
Спойлер (Отобразить)

даже в одну линию получилось Хм Растерялся

Добрый день!
Кажется, в начале Вы хотели в 4 столбца.
leon2009sp пишет:
как сделать все слова на А в одной таблице html, все слова на Б в другой таблице html, чтобы было 4 столбца. и Н строк.

Если Вы ещё хотите этого добиться и хотите использовать таблицы,
то советую Вам попробовать сделать html разбивку без PHP для слов на одну букву.
Например "A":
Спойлер (Отобразить)
Если это то, что Вы первоначально хотели сделать, попробуйте написать на PHP.
Иначе, покажите свой макет html разбивки, которую Вы хотите реализовать.
Удачи!

(Отредактировано автором: 17 Февраля, 2020 - 07:41:19)

 
 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