Avatar billede ch_kofoed Nybegynder
08. september 2003 - 09:21 Der er 7 kommentarer og
1 løsning

Funktion søges

Hej eksperter
Jeg leder efter en funktion som kan hjælpe mig med følgende:
Jeg har x antal billeder i min database som jeg gerne vil vise 4 ad gangen. Når brugeren så trykker på næste skal billede 2-5 vises osv..
Jeg håber nogen kan hjælpe
Avatar billede detox Nybegynder
08. september 2003 - 09:57 #1
Du kan bruge en konstruktion i den her stil:

$start = isset($_GET['id']) ? $_GET['id'] : 0;
$prside = 4;
//Connect til database
$res = mysql_query("SELECT billeder FROM tabel LIMIT $start,$prside");
//Fetch resultat og vis billeder
$id = $start+1;
echo "<a href=\"".$_SERVER['PHP_SELF']."?id=".$id."\">N&aelig;ste</a>";

Det kunne måske være rart med et 'Tilbage' link osse.
Avatar billede ch_kofoed Nybegynder
08. september 2003 - 10:24 #2
Hvordan skriver jeg så billederne ud til skærmen?
Og ja det ville være rart med et tilbage link også :)
Avatar billede detox Nybegynder
08. september 2003 - 14:20 #3
Ok, jeg troede du havde styr på den del af det. Der har du brug for et lille script der henter og viser de enkelte billeder, som du så kalder fra den anden side med et alm <img> tag:

<?
//Connect til database
$res = mysql_query("SELECT billede, type FROM gallery WHERE id=$_GET[id]");
$data = mysql_fetch_assoc($res);
header("Content-type: ".$data['type']);
echo $data[$type];
?>

Den kan du kalde fx: vis_billede.php og den bruger du i det andet script, som var det et alm billede:

<img alt='billede fra database' src='vis_billede.php?id=$row[id] />
Avatar billede detox Nybegynder
08. september 2003 - 14:29 #4
Så skal du bare hente billedernes id på din første side:

$start = isset($_GET['id']) ? $_GET['id'] : 0;
$prside = 4;
//Connect til database
$res = mysql_query("SELECT id FROM tabel LIMIT $start,$prside");
//Fetch resultat og vis billeder
while ($row = mysql_fetch_assoc($res)) {
  <img alt='billede fra database' src='vis_billede.php?id=$row[id] />
}
if ($start>0) {
  $ned = $start-1;
  echo "<a href=\"".$_SERVER['PHP_SELF']."?id=".$ned."\">Forrige</a>";
}
$op = $start+1;
echo "<a href=\"".$_SERVER['PHP_SELF']."?id=".$op."\">N&aelig;ste</a>";
Avatar billede basicq Nybegynder
08. september 2003 - 14:33 #5
Her er lige et bud mere.

//Her skrives billederne ud
$sql = mysql_query("SELECT * FROM thegang WHERE kategori='$kategori' ORDER BY id DESC LIMIT $offset,$limit");
while($res = mysql_fetch_row($sql)) {
    <table align=center>
    <tr>
        <td><img src=$res[1] width="150" height="250" alt=TheGangSlukOgBong.></td>
    </tr>
    </table>";
    echo "<hr width=100%>";
}

$limit=4
$offset=0;

$numresults=mysql_query("SELECT * FROM thegang WHERE kategori='$kategori' ORDER BY sti DESC");
$numrows=mysql_num_rows($numresults) or die ("Prøv igen..Shit happens....!");

//Her laves næste og forrige
if($offset > 0) {
    $prevoffset = $offset - $limit;
    echo"<a href='index.php?offset=$prevoffset'><-forrige</a>";
}

$pages=intval($numrows/$limit);
if($pages < ($numrows/$limit)) {
    $pages=($pages + 1);
}

for($i = 1; $i <= $pages; $i++) {
    $newoffset = $limit*($i-1);
    if($newoffset == $offset) {
        echo"$i"; //Skriver side antal ud 1 2 3 osv.
    }
    else { echo"<a href='index.php?offset=$newoffset'>$i</a>"; }
}
    //Viser den næste, ellers vises den sidste.
if(! ( ($offset/$limit) == ($pages - 1) ) && ($pages != 1) ) {
    $newoffset = $offset+$limit;
    echo"<a href='index.php?offset=$newoffset'>næste-></a>";
}
Avatar billede ch_kofoed Nybegynder
08. september 2003 - 17:49 #6
Hej detox
Jeg er med på hvordan du skriver billeder ud, det er nok bare fordi jeg gør på en anden måde end dig :) Anyway nu virker det, så mange tak for din hjælp!
Avatar billede ch_kofoed Nybegynder
08. september 2003 - 17:50 #7
Drop lige et svar så du kan få dine velfortjente point
Avatar billede detox Nybegynder
08. september 2003 - 18:14 #8
Ok da. c",)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester