Hej alle,
Jeg er ved at lave en galleri side. Hvis jeg f.eks. har 100 poster i min database bliver det delt op på 10 sider... Men det bliver delt op så de bare står under hinanden i en lang række, jeg ville gerne have dem til at stå sådan:
1 - 2 - 3 - 4 - 5
6 - 7 - 8 - 9- 10
Altså så der vises 5 billeder på hver side... Hvordan gør jeg det??
Her er min kode:
<?php
/* Antallet af poster vi ønsker vist på hver side */
$pr_side = 10;
/* Vi tæller antallet af poster i tabellen husk at ændre ‘table’ til dit eget tabelnavn */
$antal = mysql_result(mysql_query("SELECT COUNT(*) FROM genre"),0) or die(mysql_error());
/* Hvis visfra-variablen ikke findes i URL-feltet og den ikke er et nummer og den er større end antallet i databasen, så sættes den til 0, ellers sættes den til værdien fra URL feltet */
$vis_fra = (isset($_GET["visfra"]) && is_numeric($_GET["visfra"]) && $_GET["visfra"] < $antal) ? $_GET["visfra"] : 0;
/* Vi laver et database udtræk med limit, så den kun hiver det rigtige antal ud fra tabellen, husk at ændre ‘table’ til dit eget tabelnavn */
$query = mysql_query ("SELECT * FROM genre ORDER BY genre limit $vis_fra, $pr_side") or die(mysql_error());
/* Vi kører en while og udskriver data, det jeg har sat på er blot et eksempel */
while ($row = mysql_fetch_array($query)) {
echo "
<table background=\\"images/genrebag.jpg\\" width=\\"152\\" height=\\"85\\">
<tr>
<td align=\\"center\\">
<a href=\\"genre2.php?id=$r1[id]\\">
$row[genre]<br/>
</a>
</td>
</tr>
</table>
";
}
echo "<hr />";
/* Der undersøges om der skal udskrives et ”forrige side”-link, er dette tilfældet udskrives linket */
if ($vis_fra > 0) {
$back= $vis_fra - $pr_side;
echo "<a href='$_SERVER[PHP_SELF]?visfra=$back'>Forrige</a> ";
}
$page = 1;
/* Alle siderne udskrives så man med et klik kan få resultaterne fra fx 90-100 */
for ($start = 0; $antal > $start; $start = $start + $pr_side) {
if($vis_fra != $page * $pr_side - $pr_side) {
echo "<a href='$_SERVER[PHP_SELF]?visfra=$start'>$page</a> ";
} else {
echo $page." ";
}
$page++;
}
/* Der undersøges om der skal udskrives et ”næste side”-link, er dette tilfældet udskrives linket */
if ($vis_fra < $antal - $pr_side) {
$next = $vis_fra + $pr_side;
echo " <a href='$_SERVER[PHP_SELF]?visfra=$next'>Næste</a>";
}
?>