【发布时间】:2018-06-17 21:08:17
【问题描述】:
我一直在阅读一些问答,但仍然没有设法构建我的算法,所以我正在寻求一些关于如何构建的帮助/建议。
所以,我有一个 MySQL 表,对于每个 mysql 表行,我想在表中显示它。我希望我的表只有 4 列(这意味着行数是可变的,具体取决于数据库中的数据)。因此,在 html 表的(第 1 行,第 1 列)中,将是来自 db 表第 1 行的数据,来自 db 表第 2 行的 html(第 1 行,第 2 列)数据......(第 2 行,第 1 列)来自 db 表的数据第 5 行,依此类推。
所以,表格应该是这样的:
[数据库行#1的数据] [数据库行#2的数据] [数据库行#3的数据] [数据库行#4的数据]
[数据库行#5的数据] [数据库行#6的数据] [数据库行#7的数据] [数据库行#8的数据]
等等……
这是我必须从 db 获取数据的内容:
function get_albums() {
$albums = array();
$albums_query = mysql_query("SELECT 'albums'.'album_id', 'albums'.'role_id', 'albums'.'timestamp', 'albums'.'name', LEFT('albums'.'description',50) as 'description', COUNT('images'.'image_id') as 'image_count'
FROM 'albums'
LEFT JOIN 'images'
ON 'albums'.'album_id' = 'images'.'album_id'
GROUP BY 'albums'.'album_id'");
// Loop through all images
while ($albums_row = mysql_fetch_assoc($albums_query)) {
// multidimensional array
$albums[] = array(
// associative array
'id' => $albums_row['album_id'],
'role' => $albums_row['role_id'],
'timestamp' => $albums_row['timestamp'],
'name' => $albums_row['name'],
'description' => $albums_row['description'],
'image_count' => $albums_row['image_count']
);
}
return $albums;
}
显示该信息:
$albums = get_albums();
echo '<table>';
for ($i=0; $i<(count($albums)/4); $i++) {
echo '<tr>';
//HERE IS WHERE I'M LOST
foreach ($albums as $album) {
echo '<a href="view_album.php?aid=',$album['id'],'">',$album['name'],'</a> (',$album['image_count'],') image(s)<br />',$album['description'],'...';
}
echo '</tr>';
}
echo '</table>';
那么,有什么想法吗?
【问题讨论】:
-
您忘记了您的
<td>标签并与,连接而不是.。 -
您需要使用 modulus operator 并在 for 循环中删除除以 4。并对马特所说的 +1。
-
首先,您在查询中的连接不正确。其次,您要为每个数据条目选择多列,但您想将所有这些列显示为一个单元格?我理解正确吗?
-
我故意“忘记”了
标签,因为我不知道该写什么代码。 Palladium,nop,我想要每个表格单元格的每个数据库行...
标签: php mysql html-table