23. april 2007 - 16:45Der er
12 kommentarer og 1 løsning
Opstil automatisk i tabel
Hej,
På min galleri side skal jeg have vist en masse billeder, jeg har vil gerne have at den viser 15 billeder pr side.
Det skal vises på følgende måde:
Jeg vil gerne have det til at blive vist så der kommer 5 på stribe, og når der er over 5 skal det så komme på næste linie.
Det skal vel næsten laves i en tabel??
Hvordan laver jeg det, så den selv lige smider en </tr><tr> ind??
Spørgsmål 2:
Hvis der så f.eks. er 25 billeder, skal det deles på 2 sider, altså der skal komme en mulighed for at vælge side 1, eller side 2... osv alt efter hvor mange billeder der er...
Jeg har prøvet og kigge lidt på det, og kan simpelthen ikke få det til at virke... Jeg har fået det til at virke med at det bliver delt op i sider, så her er min kode nu:
<?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>"; } ?>
Mangler bare at få det sat op i en tabel, som viser 5 i hver række nu
<?php /* Antallet af poster vi ønsker vist på hver side */ $pr_side = 15; $pr_raekke = 5;
/* 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());
/* Tæller som bruges til at skifte række */ $taeller = 0;
/* Har vi data? */ if(mysql_num_rows($query)>0) { /* Vi starter tabellen */ echo "<table background=\"images/genrebag.jpg\" width=\"152\" height=\"85\"><tr>";
/* Vi kører en while og udskriver data, det jeg har sat på er blot et eksempel */ while ($row = mysql_fetch_array($query)) { if(($taeller % $pr_raekke) == 0) echo "</tr><tr>";
/* 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>"; } ?>
<?php /* Antallet af poster vi ønsker vist på hver side */ $pr_side = 10; $i = 0;
/* 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)) { $i++; echo " <td> <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> </td> "; if ($i == 5) { $i = 0; echo "</tr><tr>"; } } echo "</tr></table><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>"; } ?>
I skal have tak for hjælpen... Hvad gør vi med point?? Vil gerne give jer noget fordi i gerne vile hjælpe
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.