PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Описание: как разделить слова по табличкам
Поиск в теме | Версия для печати
leon2009sp
Отправлено: 14 Февраля, 2020 - 05:30:56
Новичок
Покинул форум
Сообщений всего: 6
Дата рег-ции: Февр. 2020
Помог: 0 раз(а)
Здравствуйте! как сделать все слова на А в одной таблице html, все слова на Б в другой таблице html, чтобы было 4 столбца. и Н строк. Спасибо!.
пробовал так:
PHP:
скопировать код в буфер обмена
echo '<table border="1">
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
' ;
$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' ) ;
$letter = '' ;
foreach ( $arr as $r ) {
if ( $letter != $r [ 0] ) {
$letter = $r [ 0] ;
}
echo '<td><br />название:' , $r , '</td></tr>' ;
}
echo '</table>' ;
пробовал так:
PHP:
скопировать код в буфер обмена
echo "<table>
" ;
if ( ! empty ( $xml -> link -> page ) ) {
$agrs = $xml -> link -> page ;
foreach ( $agrs as $vals )
{
echo "<tr><td><a href='111.php'>$vals </a></td></tr>" ;
}
}
echo "</table>" ;
но только рисунки в виде пирамид.
а хотелось получить такое:
CODE (
html ):
скопировать код в буфер обмена
<table >
<tr >
<td > aaaa, aaaa, aaaa, aaaa </ td >
<td > bbb bbbb bbbb bbbb</ td >
<td > cccc ccccc cccccc ccccc </ td >
<td > ddddd ddddd dddd dddd</ td >
</ tr >
<tr >
<td > eeeeee eeee eee </ td >
<td > ffff fff ffff ffff</ td >
<td > jjjjjj jjjjjjj jjjj </ td >
<td > hhhhh hhhhh hhhh</ td >
</ tr >
<tr >
<td > оооооооооо</ td >
<td > жжжжжжжж</ td >
<td > иииииииии </ td >
<td > ккккккккккк</ td >
</ tr >
<tr >
<td > ллллллллл</ td >
<td > ffff fff ffff ffff</ td >
<td > jjjjjj jjjjjjj jjjj </ td >
<td > hhhhh hhhhh hhhh</ td >
</ tr >
</ table >
(Отредактировано автором: 14 Февраля, 2020 - 05:32:01)
Vladimir Kheifets
Отправлено: 14 Февраля, 2020 - 10:00:04
Частый посетитель
Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017
Откуда: Германия, Бавария
Помог: 37 раз(а)
leon2009sp пишет: Здравствуйте! как сделать все слова на А в одной таблице html, все слова на Б в другой таблице html, чтобы было 4 столбца. и Н строк. Спасибо!.
Добрый день!
Попробуйте сделать так:
Спойлер (Отобразить ) PHP:
скопировать код в буфер обмена
$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' ) ; $index = [ ] ;
foreach ( $arr as $v )
{
$index [ $first ] [ ] = $v ;
}
echo "<pre>" ;
получите массив:Спойлер (Отобразить ) PHP:
скопировать код в буфер обмена
(
(
[ 0] => Actona
[ 1] => Aricasa
[ 2] => ARTE Lamp
[ 3] => Apollo
[ 4] => Anli
)
(
[ 0] => BONTEMPI
[ 1] => BelVase
[ 2] => Beal. Real
[ 3] => Blonder Home
)
(
[ 0] => Casa Vera
[ 1] => ClassicFlame
)
(
[ 0] => Easyfurn
)
(
[ 0] => FMD
[ 1] => Fif
[ 2] => FENICE
[ 3] => Forma Ideale
[ 4] => Friedrich von der Kohlen
[ 5] => Flocmat
[ 6] => FRAMAR
)
(
[ 0] => Garantie Mobel
[ 1] => Gumexpo
[ 2] => Globo
[ 3] => Germania
[ 4] => GIMI
)
(
[ 0] => Honsel
[ 1] => Haku
[ 2] => Heinz Hofmann
)
(
[ 0] => IMV- Steinheim
[ 1] => INNOVATION
[ 2] => InterFlame
)
(
[ 0] => Komforta Mobel
[ 1] => KESPER
)
(
[ 0] => Myflair
[ 1] => Marquis
[ 2] => Martini spa
)
(
[ 0] => NATISA
[ 1] => Nikotex
)
(
[ 0] => O& G
[ 1] => ODISO
)
(
[ 0] => Paroli
[ 1] => Pushe
[ 2] => PRISMEA
[ 3] => Polster Luxe
[ 4] => PICARD & WIELPUTZ
[ 5] => Primavelle
[ 6] => Pinella
)
(
[ 0] => Rinos
[ 1] => Ravel
)
(
[ 0] => Solutions
[ 1] => Sobranie
[ 2] => SSW
)
(
[ 0] => Trio
)
(
[ 0] => Vental
)
(
[ 0 ] => ZELLER
)
)
Удачи!(Отредактировано автором: 14 Февраля, 2020 - 10:00:58)
Vladimir Kheifets
Отправлено: 14 Февраля, 2020 - 20:44:54
Частый посетитель
Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017
Откуда: Германия, Бавария
Помог: 37 раз(а)
leon2009sp пишет: Здравствуйте! как сделать все слова на А в одной таблице html, все слова на Б в другой таблице html, чтобы было 4 столбца. и Н строк. Спасибо!.
LIME пишет: если данные уже отсортированы можно и без промежуточного накопления обойтись
Покажите код...
leon2009sp
Отправлено: 14 Февраля, 2020 - 20:46:22
Новичок
Покинул форум
Сообщений всего: 6
Дата рег-ции: Февр. 2020
Помог: 0 раз(а)
а как мне это все в таблицу запихнуть?
PHP:
скопировать код в буфер обмена
<?PHP
$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' ) ; //$index=[];
foreach ( $arr as $v )
{
$index [ $first ] [ ] = $v ;
echo "<table><tr><td>" , $v , "</td></tr></table>" ;
}
echo "<pre>" ;
?>
в самом начале то что пытался сделать, но выходят пирамиды.(Отредактировано автором: 14 Февраля, 2020 - 20:48:52)
leon2009sp
Отправлено: 15 Февраля, 2020 - 17:54:13
Новичок
Покинул форум
Сообщений всего: 6
Дата рег-ции: Февр. 2020
Помог: 0 раз(а)
PHP:
скопировать код в буфер обмена
<?PHP
$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' ) ; $index = array ( ) ; //$index=[]; foreach ( $arr as $v )
{
$index [ $first ] [ ] = $v ;
}
for ( $i = 0 ; $i <= count ( $arr ) ; $i ++ ) {
echo $arr [ $i ] . " " ;
}
//ksort($index);
//echo "<pre>";
//print_r($index);
//$rows = 20; // количество строк, tr
$cols = 4 ; // количество столбцов, td
$table = '<table border="1">' ;
for ( $tr = 1 ; $tr <= $rows ; $tr ++ ) {
$table .= '<tr>' ;
for ( $td = 1 ; $td <= $cols ; $td ++ ) {
$table .= '<td>' . $i . '</td>' ;
}
$table .= '</tr>' ;
}
$table .= '</table>' ;
echo $table ; // сделали эхо всего 1 раз
?>
Vladimir Kheifets
Отправлено: 15 Февраля, 2020 - 20:00:15
Частый посетитель
Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017
Откуда: Германия, Бавария
Помог: 37 раз(а)
leon2009sp пишет: а как мне это все в таблицу запихнуть?[
в самом начале то что пытался сделать, но выходят пирамиды.
LIME пишет: Vladimir Kheifets сейчас не покажу
Либо ждать воскресенье либо подумайте над условием $oldFirstLetter !== $itemFirstLetter
И по условию вставлять tr
Делал не единожды на заре карьеры в 2011 примерно
Покажу если сам не допрешь
Добрый день!
Славу Богу сейчас не 2011 год и можно обойтись без таблиц даже если очень хочется в четыре столбца без пирамид.
Это код с HTML,CSS PHP:
Спойлер (Отобразить ) CODE (
html ):
скопировать код в буфер обмена
<html >
<head >
<style >
.block{
text-align:left;
width:800px; /* 4 x width 1 col */
padding:0 0 40 0;
}
.block div{
width:200px; /* width 1 col */
float:left;
text-align:left;
}
</ style >
</ head >
<body >
<?php
$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' ) ;
$index= array( ) ;
foreach( $arr as $v)
{
$first= substr( $v,0,1) ;
$index[ $first] [ ] = $v;
}
ksort( $index) ; // если массив $arr не отсотирован
// echo "<pre> ";
//print_r($index);
foreach($index as $i=>$row)
{
echo "$i<hr > ";
View4Cols($row);
}
//----------------------------------------
function View4Cols($row)
{
echo "<div class = 'block' > ";
foreach($row as $v)
{
echo "<div > $v</ div > ";
}
echo "</ div ><br > ";
}
?>
</ body >
</ html >
результат на скриншоте.
Удачи!Прикреплено изображение (Нажмите для увеличения) (Отредактировано автором: 15 Февраля, 2020 - 20:02:22)
leon2009sp
Отправлено: 16 Февраля, 2020 - 16:16:52
Новичок
Покинул форум
Сообщений всего: 6
Дата рег-ции: Февр. 2020
Помог: 0 раз(а)
PHP:
скопировать код в буфер обмена
<?PHP
$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' ) ; $letter = '' ;
$rows = 1 ; // количество строк, tr
$cols = 4 ; // количество столбцов, td
echo '<table border="1">' ;
for ( $tr = 1 ; $tr <= $rows ; $tr ++ )
{
echo '<tr>' ;
for ( $td = 1 ; $td <= $cols ; $td ++ ) { // в этом цикле счётчик $td аналогичен
// счётчику $tr.
echo '<td>' ;
foreach ( $arr as $r ) {
if ( $letter != $r [ 0] ) {
$letter = $r [ 0] ;
}
echo '<br />название:' , $r , '' ;
}
}
echo '</td></tr>' ;
}
echo '</table>' ;
?>
почти получилось
Vladimir Kheifets
Отправлено: 16 Февраля, 2020 - 19:33:34
Частый посетитель
Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017
Откуда: Германия, Бавария
Помог: 37 раз(а)
leon2009sp пишет: Спойлер (Отобразить ) PHP:
скопировать код в буфер обмена
<?PHP
$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' ) ; $letter = '' ;
$rows = 1 ; // количество строк, tr
$cols = 4 ; // количество столбцов, td
echo '<table border="1">' ;
for ( $tr = 1 ; $tr <= $rows ; $tr ++ )
{
echo '<tr>' ;
for ( $td = 1 ; $td <= $cols ; $td ++ ) { // в этом цикле счётчик $td аналогичен
// счётчику $tr.
echo '<td>' ;
foreach ( $arr as $r ) {
if ( $letter != $r [ 0] ) {
$letter = $r [ 0] ;
}
echo '<br />название:' , $r , '' ;
}
}
echo '</td></tr>' ;
}
echo '</table>' ;
?>
почти получилось
Почти получилось, значит скоро Вами будет найдено верное решение и его можно будет увидеть.
leon2009sp
Отправлено: 16 Февраля, 2020 - 21:09:25
Новичок
Покинул форум
Сообщений всего: 6
Дата рег-ции: Февр. 2020
Помог: 0 раз(а)
PHP:
скопировать код в буфер обмена
<?PHP
echo "<table border=1><tr>" ;
if ( ! empty ( $xml -> link -> page ) ) {
$agrs = $xml -> link -> page ;
foreach ( $agrs as $vals )
{
echo "<td><a href=$vals[name] >$vals </a></td>" ;
}
echo "</tr>" ;
}
echo "</table>" ;
?>
даже в одну линию получилось
Vladimir Kheifets
Отправлено: 17 Февраля, 2020 - 07:37:57
Частый посетитель
Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017
Откуда: Германия, Бавария
Помог: 37 раз(а)
leon2009sp пишет: Спойлер (Отобразить ) PHP:
скопировать код в буфер обмена
<?PHP
echo "<table border=1><tr>" ;
if ( ! empty ( $xml -> link -> page ) ) {
$agrs = $xml -> link -> page ;
foreach ( $agrs as $vals )
{
echo "<td><a href=$vals[name] >$vals </a></td>" ;
}
echo "</tr>" ;
}
echo "</table>" ;
?>
даже в одну линию получилось
Добрый день!
Кажется, в начале Вы хотели в 4 столбца.
leon2009sp пишет: как сделать все слова на А в одной таблице html, все слова на Б в другой таблице html, чтобы было 4 столбца. и Н строк.
Если Вы ещё хотите этого добиться и хотите использовать таблицы,
то советую Вам попробовать сделать html разбивку без PHP для слов на одну букву.
Например "A":Спойлер (Отобразить ) CODE (
html ):
скопировать код в буфер обмена
<html >
<head >
<title > Test</ title >
<style >
table{border-collapse:collapse}
td{padding:3px}
</ style >
</ head >
<body >
<table border = "1" >
<tr >
<td colspan = "4" > A</ td >
</ tr >
<tr >
<td > Actona</ td >
<td > Aricasa</ td >
<td > ARTE Lamp</ td >
<td > Apollo</ td >
</ tr >
<tr >
<td > Anli</ td >
<td > </ td >
<td > </ td >
<td > </ td >
</ tr >
</ table >
</ body >
</ html >
Если это то, что Вы первоначально хотели сделать, попробуйте написать на PHP.
Иначе, покажите свой макет html разбивки, которую Вы хотите реализовать.
Удачи!(Отредактировано автором: 17 Февраля, 2020 - 07:41:19)
Поиск в теме | Версия для печати
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
Powered by ExBB FM 1.0 RC1. InvisionExBB