if (mysql_num_rows(mysql_query("select id from galleri")) != 0) { $get = mysql_query("select navn, dimension, aarstal, pris, filnavn from galleri order by ID desc"); while ($stuff = mysql_fetch_array($get)) {
Jeg kunne imidlertid godt tænke mig en "forrige/næste" funktion, så man kan bladre gennem billederne i stedet for at se alle på en side. Er der nogen der kan hjælpe mig til hvordan den klares?
Det gør virkelig en forskel at bruge professionel hardware, hvad enten det er til videoproduktion, AI-udvikling eller High Performance Computing.
20. december 2024
Slettet bruger
22. marts 2006 - 17:47#1
Så vidt jeg kan se i dette script, henter du alt indhold af databasen ud på samme side.
Hvis du vil lave en bladre-funktion, skal du starte med at finde ud af hvor mange billeder du vil vise på hver side, og derefter lave et offest som du går ud fra.
Den mest brugte måde er så at putte dette offset ind i dit SQL-kald, med LIMIT x,y.
Jeg ved ikke om du er bekendt med brugen af LIMIT? - Herefter er det sådan set bare at tage højde for hvornår du er på første og sidste side.
if (mysql_num_rows(mysql_query("select id from galleri")) != 0) { $get = mysql_query("select navn, dimension, aarstal, pris, filnavn from galleri where ID='".$id."'"); if ($stuff = mysql_fetch_array($get)) {
Der er sikkert huller i id listen. Proev at skrive:
<?php //connect og alt det der $result = mysql_query("SELECT id FROM galleri ORDER BY id ASC"); while($row = mysql_fetch_assoc($result)) { print($row['id']); } ?>
if (mysql_num_rows(mysql_query("select id from galleri")) != 0) { $get = mysql_query("select navn, dimension, aarstal, pris, filnavn from galleri order by ID desc LIMIT $offset,10"); while ($stuff = mysql_fetch_array($get)) {
if (mysql_num_rows(mysql_query("select id from galleri")) != 0) { $get = mysql_query("select * from galleri order by ID desc LIMIT $offset,1"); while ($stuff = mysql_fetch_array($get)) {
Problemet er så, at den bladrer viderer selvom der ikke er flere billeder.
Synes godt om
Slettet bruger
22. marts 2006 - 21:19#15
Nemlig, den tjekker ikke om den er på første eller sidste side.
Det kan du så gøre ved, at hvis offset er 0, skal den ikke vise knappen "Previous", og hvis offset er større end mysql_num_rows(), så skal den ikke vise next.
if (mysql_num_rows(mysql_query("select id from galleri")) != 0) { $get = mysql_query("select * from galleri order by ID desc LIMIT $offset,1"); $num_rows = mysql_num_rows($get); while ($stuff = mysql_fetch_array($get)) {
Echo af offset har jeg blot sat til for bedre at kunne finde fejlen - hvilket endnu ikke er lykkes.
Synes godt om
Slettet bruger
22. marts 2006 - 22:44#18
Fremad-linket virker godt nok, ikke?
$num_rows = mysql_num_rows($get); <- der skal du nok ikke få resultatet fra det sql kald du laver. Men i stedet fra et SQL kald der finder alle rækkerne i din tabel.
$num_rows = mysql_num_rows(mysql_query("SELECT * from galleri");
if (mysql_num_rows(mysql_query("select id from galleri")) != 0) { $get = mysql_query("select * from galleri order by ID desc LIMIT $offset,1"); $num_rows = mysql_num_rows(mysql_query("SELECT * from galleri")); while ($stuff = mysql_fetch_array($get)) {
På den første side er $offset = 0 og der står kun "Next", så der virker fint. Når jeg bladrer står der stadig kun "Next" og $offset er STADIG 0, så den vil ikke videre.
Der er altså umiddelbart to problemer: $offset vokser ikke og previous er ikke med på side 2.
Håber der gør det nemmere at hjælpe.
Synes godt om
Slettet bruger
23. marts 2006 - 16:55#21
Nede i dine prev. og next links - ser skulle ?offset= gerne blive højere. Gør de det?
Når jeg ser på koden kan jeg heller ikke helt se hvorfor $offset skulle vokse. Mangler der ikke noget? Den defineres først som 0 og dernærst kaldes variablen med GET, men hvor hentes den fra?
if (mysql_num_rows(mysql_query("select id from galleri")) != 0) { $get = mysql_query("select * from galleri order by ID desc LIMIT $offset,1"); $num_rows = mysql_num_rows(mysql_query("SELECT * from galleri")); while ($stuff = mysql_fetch_array($get)) {
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.