Gå til innhold

PhP/SQL Neste side med url variabel


Anbefalte innlegg

Hei, jeg prøver å lage meg et bilde galleri.

Hvor jeg bruker følgende datamodell:

help.png

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
Videoannonse
Annonse

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

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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...