Portal > Foren > PHP > PHP-Programmierung > [PHP][MYSQL] Anfang und Ende begrenzen
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 26.10.2006, 19:11 Nach oben    #1
Benutzer
 
Registriert seit: 18.06.2006
Ort: Straubing
Beiträge: 85
Standard [PHP][MYSQL] Anfang und Ende begrenzen

Hi ich habe folgenden Code zum Ausgeben der Bilder in meiner Gallerie.
PHP-Code:
<link href="css/screen.css" media="screen" rel="stylesheet" type="text/css">
<script src="fader.js" type="text/javascript"></script>
<?php
// Moegliche Fehler ausgeben
error_reporting(E_ALL);

// Konfigurationsdatei laden
require("inc/config.inc.php");

// Verbindung zur Datenbank herstellen
$link mysql_connect($mysql_host$mysql_user$mysql_pass)
    or die (
"Error: "mysql_error());
mysql_select_db ($mysql_data$link)
    or die (
"Error: "mysql_error());

// Datensatz-Ausgabe festlegen
$sql "SELECT
           `id`,
           `albid`,
           `title`,
           `path`
       FROM
           `bero_pictures`
       WHERE
           `check` = '1'
       AND
           `id` = '"
$_GET['picid'] ."'
       LIMIT 1"
;
$result mysql_query($sql)
    or die (
"Error: "mysql_error());

// Anzahl der Datensätze in eine Variable schreiben
$count mysql_num_rows($result);

$n1 "1";
$lp $_GET['picid'] - $n1;
$np $_GET['picid'] + $n1;

if (
mysql_num_rows($result)) {
    
$row mysql_fetch_assoc($result);
    print 
"<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n";
    print 
"  <tr bgcolor=\"#CCCCCC\">\n";
    print 
"    <td align=\"center\">"$row['title'] ."</td>\n";
    print 
"  </tr>\n";
    print 
"</table>\n";
    print 
"<p id=\"photoholder\">\n";
    print 
"<img alt=\""$row['title'] ."\" id=\"thephoto\" src=\""$row['path'] ."\">\n";
    print 
"</p>\n";
    print 
"<a href=\"picture.php?picid="$lp ."\">Zurück</a> - \n";
    print 
"<a href=\"album.php?albid="$row['albid'] ."\">Index</a> - \n";
    print 
"<a href=\"picture.php?picid="$np ."\">Weiter</a>\n";
} else {
    print 
"<p class=\"error\">Es wurde kein Bild gefunden!</p>\n";
}
?>
Mit den Links "Zurück" und "Weiter" kommt man zum letzten, bzw. nächsten Bild. Wie geht es, dass wenn das letzte Bild des Albums erreicht ist, dass dann der Link "Zurück" bzw. "Weiter" inaktiv wird und es dann nur noch in die andere Rcihtung zurück geht?

Mfg, Berti
Berti ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.10.2006, 21:37 Nach oben    #2
Johannes Müller
 
Benutzerbild von $traight-$hoota
 
Registriert seit: 15.09.2005
Ort: Königreich Flieden
Beiträge: 551
Standard

du überprüfst einfach ob der jeweilge eintrag existiert...
sql Code:
  1. -- nachher
  2. SELECT `id`
  3. FROM `bero_pictures`
  4. WHERE `check` = '1' AND `id` = _PICID_ + 1
  5. -- vorher
  6. SELECT `id`
  7. FROM `bero_pictures`
  8. WHERE `check` = '1' AND `id` = _PICID_ - 1
__________________
Weißt Bescheid - Scheiß wie weit
$traight-$hoota ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.10.2006, 21:39 Nach oben    #3
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.653
Standard

einfach dein $count weitergeben und wenn $count == $picid, dann ausblenden.
Btw: statt dauernd print "..." zu machen, einfach den PHP Block beenden und nach dem HTML zeug wieder anfangen...
__________________
I did it my way - Senseless-Blog
Weihnachtsgeschenk? Schülern helfen - Bodypainting Kalender für 2009
WarrenFaith ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.10.2006, 22:02 Nach oben    #4
Johannes Schlichenmaier
 
Benutzerbild von Jojo
 
Registriert seit: 26.08.2005
Ort: Mannheim
Beiträge: 403
Standard

Könntest du nicht beim Auslesen der Bildinformationen gleich die ID der umgebenden Bilder per SubQuery als Wert übergeben?
Moment ich check das grad mal...


//edit:
Ich hab das mal geprüft, es geht.
So ungefähr:
PHP-Code:
$pic_id =  $_GET['picid'] ;
$sql "SELECT
           id,
           albid,
           title,
           path,
           (SELECT ID FROM bero_pictures WHERE ID = "
.($pic_id-1).") AS previous, 
           (SELECT ID FROM bero_pictures WHERE ID = "
.($pic_id+1).") AS next 
       FROM
           bero_pictures
       WHERE
           check = '1'
       AND
           id='"
.$pic_id."'
       LIMIT 1"

//edit2:
Ach ja, ich würde nicht einfach $_GET['picid'] nutze, wegen Sicherheit.
Besser ist sowas:
PHP-Code:
$curr_id = (isset($_GET['ID'])) ? (int) abs($_GET['ID']) : 1
//edit3:
Ich hab nochwas vergessen:
Du kannst dann in $array['previous'] ($array['next']) schauen, ob es eine Bild davor (danach) gibt.
Wenn es kein Bild gibt, ist der Inhalt des Elements NULL.

Grüße,
Jojo
__________________
In the beginning was the word
and the word was content-type: plain/text

heute code ich, morgen debug ich und uebermorgen cast ich die koenigin auf int

Geändert von Jojo (26.10.2006 um 23:52 Uhr)
Jojo ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:24 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45