hybert95 Skrevet 26. mars 2012 Del Skrevet 26. mars 2012 Hei, jeg prøver å lage meg et bilde galleri. Hvor jeg bruker følgende datamodell: Hvor man først har oversikt over galleriene, ogå over hvilke bilder som er i galleriet, før man ser bildet med tilhørende info om fotograf osv. Men her er greien, der du ser bildene "visbilde.php" genereres ved hjelp av url variabler som gjør at du i utgangs punktet er på samme side uansett, fotograf, bilde, galleri osv. Men innholdet er dynamisk hentet ut fra databasen. Det jeg ønsker er at når jeg er på "visbilde.php" kan jeg få en "next-knapp" som sender meg videre til neste bildet i albumet. Ikke neste bildet i mappen, men kommunisere med databasen og se hva som er neste bilde i databasen. Koden til "visbilde.php" <?php require_once('Connections/gallerikobling.php'); ?> <?php if (!function_exists("GetSQLValueString")) { function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue; $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue); switch ($theType) { case "text": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "long": case "int": $theValue = ($theValue != "") ? intval($theValue) : "NULL"; break; case "double": $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL"; break; case "date": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "defined": $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; break; } return $theValue; } } $currentPage = $_SERVER["PHP_SELF"]; $maxRows_bildevisning = 1; $pageNum_bildevisning = 0; if (isset($_GET['pageNum_bildevisning'])) { $pageNum_bildevisning = $_GET['pageNum_bildevisning']; } $startRow_bildevisning = $pageNum_bildevisning * $maxRows_bildevisning; $colname_bildevisning = "-1"; if (isset($_GET['id'])) { $colname_bildevisning = $_GET['id']; } mysql_select_db($database_gallerikobling, $gallerikobling); $query_bildevisning = sprintf("SELECT filnavn, tittel, beskrivelse, DATE_FORMAT(dato, '%%d/%%m-%%y %%h:%%i') AS dato, fotograf, fotografid, navn FROM bilde, fotograf WHERE bilde.fotograf=fotograf.fotografid AND filnavn=%s", GetSQLValueString($colname_bildevisning, "text")); $query_limit_bildevisning = sprintf("%s LIMIT %d, %d", $query_bildevisning, $startRow_bildevisning, $maxRows_bildevisning); $bildevisning = mysql_query($query_limit_bildevisning, $gallerikobling) or die(mysql_error()); $row_bildevisning = mysql_fetch_assoc($bildevisning); if (isset($_GET['totalRows_bildevisning'])) { $totalRows_bildevisning = $_GET['totalRows_bildevisning']; } else { $all_bildevisning = mysql_query($query_bildevisning); $totalRows_bildevisning = mysql_num_rows($all_bildevisning); } $totalPages_bildevisning = ceil($totalRows_bildevisning/$maxRows_bildevisning)-1; $queryString_bildevisning = ""; if (!empty($_SERVER['QUERY_STRING'])) { $params = explode("&", $_SERVER['QUERY_STRING']); $newParams = array(); foreach ($params as $param) { if (stristr($param, "pageNum_bildevisning") == false && stristr($param, "totalRows_bildevisning") == false) { array_push($newParams, $param); } } if (count($newParams) != 0) { $queryString_bildevisning = "&" . htmlentities(implode("&", $newParams)); } } $queryString_bildevisning = sprintf("&totalRows_bildevisning=%d%s", $totalRows_bildevisning, $queryString_bildevisning); ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset="utf-8" /> <title>Untitled Document</title> </head> <body> <?php if ($totalRows_bildevisning > 0) { // Show if recordset not empty ?> <h1> <?php echo $row_bildevisning['tittel']; ?> </h1> <p><img src="bilder/<?php echo $row_bildevisning['filnavn']; ?>" width="400" /></p> <p><em> <?php echo $row_bildevisning['beskrivelse']; ?> </em></p> <p><strong>Dato:</strong> <?php echo $row_bildevisning['dato']; ?> <br /> <strong>Fotograf:</strong> <?php echo $row_bildevisning['navn']; ?></p> <?php } // Show if recordset not empty ?> <?php if ($totalRows_bildevisning == 0) { // Show if recordset empty ?> Bildet finnes dessverre ikke <?php } // Show if recordset empty ?> </body> </html> <?php mysql_free_result($bildevisning); ?> Tusen takk for all hjelp Lenke til kommentar
Terrasque Skrevet 28. mars 2012 Del Skrevet 28. mars 2012 Du bør ha en autoincrement på bilde eller galleribilde. Da blir ting med ett enklere. select * from bilde where bilde.filnavn = galleribilde.bilde and galleribilde.galleri = 5 and galleribilde.id > 34 order by galleribilde.id ASC limit 1; Lenke til kommentar
etse Skrevet 29. mars 2012 Del Skrevet 29. mars 2012 Selv om se ser databasedesignet er det ikke alltid lett å,forstå nøyaktig hvordan det funker. hva er neste bilde? Fint om du forklarer dette, da jeg ikke tror det er snakk om noen svært vanskelig spørring. Lenke til kommentar
molty Skrevet 29. mars 2012 Del Skrevet 29. mars 2012 Jeg antar du bruker dreamweaver boken for CS 5 Hvis du følger eksempelet om sitater som kommer i starten av boken vil du kunne se hvordan du lager en neste side o.l. Eneste du trenger å gjøre er å la den følge bildene i albumet / albumet med bilder. Molty Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå