Распечатать данные транспонированного массива в виде таблицы HTMLPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Распечатать данные транспонированного массива в виде таблицы HTML

Сообщение Anonymous »

Массив начинается так:

Array (
[SMART Board] => Array ( [0] => sb1 [1] => sb2 [2] => sb3 )
[Projector] => Array ( [0] => pr1 [1] => pr2 [2] => pr3 )
[Speakers] => Array ( [0] => sp1 [1] => sp2 [2] => sp3 )
[Splitter] => Array ( [0] => spl1 [1] => spl2 [2] => spl3 )
[Wireless Slate] => Array ( [0] => ws1 [1] => ws2 [2] => ws3 )
)


Ключи используются в качестве заголовков столбцов таблицы. Их отдельные массивы должны содержать информацию о столбцах.

Я разделил ее еще больше с помощью array_slice и array_merge_recursive, чтобы выглядеть красиво как два массива. - 1 содержит имена столбцов, другой выглядит так:

Array (
[0] => sb1
[1] => sb2
[2] => sb3
[3] => pr1
[4] => pr2
[5] => pr3
[6] => sp1
[7] => sp2
[8] => sp3
[9] => spl1
[10] => spl2
[11] => spl3
[12] => ws1
[13] => ws2
[14] => ws3
)


Однако при попытке написать таблицу я получаю ключи 0, 1, 2 в качестве данных столбца, затем разрыв строки, затем 3, 4, 5, затем разрыв строки ... и т. д.

Мне нужно, чтобы это был разрыв строки 0, 3, 6, 9, 12, разрыв строки 1, 4, 7, 10, 13 и т. д. .

Как я могу либо переупорядочить свой массив, чтобы учесть это, либо переписать способ ввода данных в таблицу, чтобы правильная информация совпадала с соответствующим столбцом?

foreach(unserialize($dl->data) as $data){

//first 3 are specialinstructions, system, and room
$uniques = array_slice($data,0,3);

$rows = array_slice($data,3);
$rows2 = array_merge_recursive($rows2, $rows);

//get the specialinstructions, system, and room
foreach($uniques as $unique){
echo $unique."
";
}///foreach uniques

echo "
";

}///foreach unserialized

$numberofrooms = count($rows2[key($rows2)]);
$numberofproducts = count($rows2);
print_r($rows2);

unset($rows);

//write the individual rows
foreach($rows2 as $header=>$rowset){

$headers[] = $header;

foreach($rowset as $row){

$rows[] = $row;

}//foreach rowset

}//foreach rows2

echo "";
print_r($rows);

echo '
DL

';
foreach($headers as $header){
echo "".$header."";
}
echo '';
echo '';
$i = 0;
foreach($rows as $row){
if($i == 3 || $i == 0){
echo "";
$i = 1;
}
echo ''.$row.'';
if($i == 2){
echo "";
}
$i++;
}
echo '';


Подробнее здесь: https://stackoverflow.com/questions/258 ... html-table
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»