Hello,
I got a script who display list of data from a db
But I want those data to be display in max 3 column. I am enable but only with one data with array_chunk.
Any help will be pleased. Thanks
I got a script who display list of data from a db
Code:
<?php
require_once "include/config.php";
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
if ($mysqli->errno) {
print $mysqli->error;
exit();
}
// 3 most recent albums only
$album_sql = "SELECT * FROM Albums ORDER BY date_created DESC;";
$album_result = $mysqli->query($album_sql);
// 6 most recent images only
$image_sql = "SELECT * FROM Images ORDER BY date_modified DESC;";
$image_result = $mysqli->query($image_sql);
if (!$album_result) {
print($mysqli->error);
exit();
}
if (!$image_result) {
print($mysqli->error);
exit();
}
while ($row = $album_result->fetch_assoc()) {
$album_id = $row['album_id'];
$background = $row['cover_file'];
$title = $row['title'];
$description = $row['description'];
$date = $row['date_created'];
$image_count = "SELECT * FROM ImagesinAlbums WHERE album_id = '".$album_id."';";
$image_count_result = $mysqli->query($image_count);
if ($image_count_result) {
// Return the number of rows in result set
$rowcount = mysqli_num_rows( $image_count_result );
}
if($language == "en") {
print("<a href='view-album.php?albumid=$album_id&language=en'>");
} else {
print("<a href='view-album.php?albumid=$album_id&language=fr'>");;
}
// Inline CSS because dynamically generated; styling does not work otherwise
print("<div class='divTable'><div class='divTableBody'><div class='divTableRow'><div class='divTableCell'><img class='albumCover' src='images/album/$background' width='200px' style='width:200px'></div></div>");
print("<div class='divTableRow'><div class='divTableCell'><div class='galleri_caption'><p>$title<br>$rowcount image(s)</p></div></div></div></div></div>");
}
?>
But I want those data to be display in max 3 column. I am enable but only with one data with array_chunk.
Code:
<?php
require_once "include/config.php";
$conn = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
$result = $conn->query("SELECT * FROM Albums");
while ($row = $result->fetch_array()) {
$rows[] = $row;
}
$lists = array_chunk($row, ceil(count($row) / 3));
// You can replace this $column with $grid or $row depending on your use case.
echo '<table border="0">';
foreach ($lists as $column) {
echo '<tr>';
foreach ($column as $row) {
echo '<td><img src="images/album/'.$row.'" width=150px></td>';
}
echo '</tr>';
}
echo '</table>';
?>
Any help will be pleased. Thanks