2015-02-24 2 views
0

2 часа я ищу решение моей проблемы, но результата не найдено. У меня есть массив ($ array), который я создал из своей базы данных с помощью цикла foreach. Когда я использую var_dump ($ массив) я получаю это:Создайте пользовательскую таблицу html из многомерного массива

array(2) { 
    [a1] => array(4) { 
    [b1] => string(2) "32" 
    [b2] => string(2) "98" 
    [b3] => string(2) "45" 
    [b4] => string(3) "654" 
    } 
    [a2] => array(3) { 
    [b1] => string(3) "677" 
    [b2] => string(2) "12" 
    [b3] => string(3) "430" 
    } 
} 

Что важно здесь, что мой массив ($ массив) информация магазин, выбранные из базы данных и хранятся в $ массива, как таким образом:

$array[a1][b1] = 32; 
$array[a1][b2] = 98; 
$array[a1][b3] = 45; 
$array[a1][b4] = 654; 
$array[a2][b1] = 677; 
$array[a2][b2] = 12; 
$array[a2][b3] = 430; 

Теперь проблема, что у меня есть, как показать массива $ в HTML таблицу как таким образом:

Html table wanted: 
_____________________ 
|  | a1 | a2 | 
|______|______|______| 
| b1 | 32 | 677 | 
|______|______|______| 
| b2 | 98 | 12 | 
|______|______|______| 
| b3 | 45 | 430 | 
|______|______|______| 
| b4 | 654 |  | 
|______|______|______| 

Также мне нужно еще одна вещь, что значения строки таблицы (1,2) и цв (1,2,3,4) хранятся в 2 ta BLES в базе данных как таким образом:

tableA : 
______________ 
| ID | NAME | 
|______|______| 
| 1 | a1 | 
|______|______| 
| 2 | a2 | 
|______|______| 

tableB : 
______________ 
| ID | NAME | 
|______|______| 
| 1 | b1 | 
|______|______| 
| 2 | b2 | 
|______|______| 
| 3 | b3 | 
|______|______| 
| 4 | b4 |  
|______|______| 

Как я показать массив: $ массива в HTML-таблицу, как «Html таблица хотела»?

Миллион Спасибо за каждого, кто может помочь мне в этом вопросе.

+0

Здесь вы задаете здесь два разных вопроса: как я могу создать многомерный массив из моей базы данных, а также как перевести его в таблицу X-Y в HTML. Это верно? –

+0

Нет. Я создал многомерный массив из базы данных, и я поместил структуру массива, которая у меня есть. Мне нужно только, как создать таблицу html с этим массивом – Codinga

ответ

0
//fetch values for a into associative array 
$aValues = fetch_assoc("SELECT * tableA"); 

//fetch values for b into associative array 
$bValues = fetch_assoc("SELECT * tableB"); 

$htmlTable = '<table>'; 

//adding header row 
$htmlTable .= '<tr><td></td>'; 
foreach ($aValues as $aValue) { 
    $htmlTable .= '<td>' . $aValue['name'] . '<td>'; 
} 
$htmlTable .= '</tr>'; 

//adding other rows, this assumes your $array is already generated 
foreach ($bValues as $bValue) { 
    $htmlTable .= '<tr>'; 
    $htmlTable .= '<td>' . $bValue['name'] . '</td>'; 

    foreach ($aValues as $aValue) { 
     if (isset($array[$aValue['name']][$bValue['name']])) { 
      $cellValue = $array[$aValue['name']][$bValue['name']]; 
     } else { 
      $cellValue = ''; 
     } 

     $htmlTable .= '<td>' . $cellValue . '<td>'; 
    } 

    $htmlTable .= '</tr>'; 
} 

$htmlTable .= '</table>'; 
+0

Спасибо, что именно то, что я хочу. – Codinga

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