Ответ был обновлен для скорректированных исходных требований к должности следующим образом:
это странный (или элегантный) способ получить то, что вы хотите сделать, и, вероятно, потребуется настройка, чтобы заставить его выглядеть красиво, но, похоже, это работает, как вы можете видеть по следующему URL
http://www.bluevineconsulting.com/table_test.php
он имеет метод php div сверху и действительно показывает, что div имеют разные размеры, как вы надеялись, не произойдет. Однако я придумала элегантное / уродливое решение, которое работает с таблицей.
// i populated a fake object so i could test with it
$data = new stdClass();
$data->student1->id = "1";
$data->student1->name = "Test1";
$data->student1->last_name = "User1";
$data->student1->gender = "Male";
$data->student2->id = "2";
$data->student2->name = "Test";
$data->student2->last_name = "User<br>\nMaiden<br>\nOther\n";
$data->student2->gender = "Female";
$data->student3->id = "3";
$data->student3->name = "Test3";
$data->student3->last_name = "User3";
$data->student3->gender = "Male";
$data->student4->id = "4";
$data->student4->name = "Test4";
$data->student4->last_name = "User4";
$data->student4->gender = "Female";
$data->student5->id = "5";
$data->student5->name = "Test5";
$data->student5->last_name = "User5";
$data->student5->gender = "Female";
$data->student6->id = "6";
$data->student6->name = "Test6";
$data->student6->last_name = "User6";
$data->student6->gender = "Female";
$datacount = count($data);
foreach($data as $row) {
$datacount++;
if (empty($colcount)) {
foreach ($row as $key => $val) {
$colcount++;
$keyname[$colcount] = $key;
}
echo "Columns = ".$colcount."<br>\n";
}
}
echo "records = ".$datacount."<br>\n<br>\n";
echo ("<b>PHP Table method:</b><br>\n<br>\n");
echo ("<table border='1px' cellspacing='0'>\n");
foreach ($keyname as $key) {
echo " <tr style='vertical-align:top;'>\n";
for ($d = 1; $d < $datacount; $d++) {
$id = "student".$d;
echo " <td>".$data->$id->$key."</td>\n";
}
echo " </tr>\n";
}
echo ("</table>\n");
Я должен признать, что это странно, но при этом ваши таблицы будут иметь правильную высоту. Следующая более сложная часть - установить количество отображаемых столбцов, так как этот метод значительно усложняет разбиение после 5 столбцов, например метод div у меня был ранее.