2013-02-02 2 views
-3

Привет, я нашел это question here , но он не делает именно то, что я ищу.php создать таблицу вертикально из массива

Я хотел бы, чтобы таблица будет отображаться как это вместо:

**  | array1   | array2 
      ------------------------------- 
logtime | 1305732210  | 1305732216 
      ------------------------------- 
useragent | Mozilla  | Mozilla 
      ------------------------------- 

Отредактировано:

мой плохой для не размещения кода, но вот то, что я застрял на.

у меня есть этот запрос, который выводит массив данных из MySQL

SELECT s.*, m.id AS wmMake 
            FROM `table1` AS s 
            JOIN `table2` AS m 
            WHERE s.code = m.code 
      AND (s.ic='123' 
      OR s.ic='1234" 

его выход выглядит следующим образом

Array ([0] => PAS [cat] => PAS [1] => H4B12A [ic] => H4B12A [2] => SMALL [segment] => SMALL [3] => 6 [wmMake] => 6) 
Array ([0] => PAS [cat] => PAS [1] => HUV12A [ic] => HUV12A [2] => SMALL [segment] => SMALL [3] => 6 [wmMake] => 6) 

Теперь на моем PHP стороне у меня есть это:

for ($i =0; $c = mysql_fetch_array($query); $i++) 
{ 
    print_r($c); 
} 

цикл for, цикл по 1 строке за раз, как я прохожу через каждую строку и получаю 1-е значение, а затем каждый строка снова, чтобы получить второе значение массива и так далее. Мой вывод html должен выглядеть так.

**  | array1   | array2 
      ------------------------------- 
cat  | PAS   | PAS 
      ------------------------------- 
ic  | H4B12A   | HUV12A 
      ------------------------------- 
segment | SMALL   | SMALL 
      ------------------------------- 
    wmMake | 6    | 6 

ответ

0

Сначала введите ключи массива. А затем прокрутите ключи и эхо-значения от обоих массивов.

$keys = array_keys($arr1, $arr2); 

echo "<table>"; 
foreach($keys as $k) { 
    echo "<tr>"; 
    echo "<td>".$k."</td>"; 
    echo "<td>".$arr1[$k]."</td>"; 
    echo "<td>".$arr2[$k]."</td>"; 
    echo "</tr>"; 
} 
echo "</table>"; 
+0

Я предполагаю, что пользователь2035819 хочет иметь каждую запись в массиве, просмотренном в новом столбце. Поскольку http://stackoverflow.com/questions/6047757/php-create-table-from-array делает это в строке. Хотя об этом неясно спросили в вопросе ... –

+0

отредактировал мой вопрос. извините за отсутствие информации –

+0

@ user2035819 в вашем цикле for, просто создайте два массива $ arr1 и $ arr2, которые вы хотите отобразить в вертикальном. Затем наш цикл for for, запустите мой выше код, он будет обрабатывать строки и столбцы, как вы хотите. – Kalpesh

3
  1. Знать, как построить таблицу HTML
  2. Знать, как использовать arrays и как они работают с keys и values.
  3. Знать, как использовать for петли, или foreach Петли на arrays.
  4. Объедините полученные знания и создайте то, что вы хотите.
+4

Вы можете проголосовать за меня, но на самом деле вы, который просит работать, вместо того, чтобы узнать, что необходимо. Вы хотите, чтобы я добавил ссылки на определение таблиц W3C? И ссылки на сайт PHP на массивах и циклах? –

+1

+1, не для ответа на ложку. – Kalpesh

+0

+1 Для поддержки. –

1

Предполагая, что вы можете знать наверняка, что оба/все массивы имеют те же ключи, что вы можете сделать с с Еогеасп:

foreach ($array1 as $key => $value) 
{ 
    echo '<tr>'; 
    echo '<td>'.$key.'</td>'; 
    echo '<td>'.$array1[$key].'</td>'; 
    echo '<td>'.$array2[$key].'</td>'; 
    // ... etc 
    echo '</tr>'; 
} 

Замечу, однако, что ответ Майк де Клерка является актуальной и не следует игнорировать - StackOverflow не предназначен для написания кода для вас или обучения вам написанию кода, а для получения ответов о конкретных вещах, за которые вы застряли.

Смежные вопросы