Antworten auf deine Fragen:
Neues Thema erstellen

Seitennummer aus Bildnumemr berechnen

dernorb

Nicht mehr ganz neu hier

hallo,
mich quält schon seit Monaten ein Problem mit der Seitennummer in meiner Galerie.

Die Anzahl der Seiten wird aus der Menge der Bilder in einen Galerie bestimmt.
bei den Vorschaubildern klappt auch alles.

Nun habe ich das Problem die Seitennummer in die Detailansicht zu übernehmen und diese anzupassen.

sprich, wenn ich auf seite 16 vom letzten Bild in die deteilansicht wechsle udn ein bild weiter klicke - bin ja auf seite 17 angekommen - wechsle ich nun wieder in die Vorschau - komme ich aber wieder auf seite 16 raus.

wie kann ich da nun die Seitennumemr anpassen.

die Galerie zur Verdeutlichung:
 

AW: Seitennummer aus Bildnumemr berechnen

Die jeweilige Seite in der Galerie ist in der URL über den start-Parameter zu erkennen. Und den übergibst du ja bei jedem Aufruf mit. Wenn du vom letzten Bild einer Seite auf die nächste Seite wechselst, ändert sich an 'start' überhaupt nichts. Somit kommt beim Wechsel zurück zur Übersicht natürlich auch weiterhin die ursprüngliche Seite.

Sorg' dafür, dass der Start-Parameter sich mit anpasst, dann stimmt auch die Galerieseite beim Zurückwechseln in die Übersicht.

Mehr kann ich ohne Code erstmal nicht sagen. Weiß ja nicht, wie das bisher gelöst ist.
 
AW: Seitennummer aus Bildnumemr berechnen

ja das das so ist das der paramenter stehen bleibt, ist mir bewust - habe ich aj so geschrieben, weil ich eben nicht weis wie ich den parameter anpassen kann.

hier der code:

PHP:
function galery($pid,$gid,$s)
{ global $imagepath, $imagethumbspath,$start,$userid,$right,$error;

$text='';

if (($pid <> '') AND ($gid <>''))
    {    //einzelnes Bild
        $sql = "SELECT
                galerietogroup.id
            FROM
                galerietogroup INNER JOIN users ON galerietogroup.Usergroup = users.Usergroup 
                WHERE users.UserID = ".$userid." AND galerietogroup.galid =".$gid." ";
        $result=mysql_query($sql);
        
        if (mysql_num_rows($result)==0)
        {
        $text=$text.'Sie sind nicht berechtigt das Bild anzuschauen!';
        }
        
        else{
        $sql = 'SELECT pics.*, galerie.title, galerie.datum FROM pics INNER JOIN galerie ON galerie.galid=pics.galid WHERE pics.picid='.$pid.' AND pics.galid='.$gid.' ORDER BY pics.name ASC';
        
        $result= mysql_query($sql);
        
        
        if (!$result)
            {    $error  =mysql_error();
                $text=$text.'Fehler!';
            }
        elseif (mysql_num_rows($result)==0)
            {
                $text = $text.'Kein Bild gefunden!';
            }
        else
            {    
                $row=mysql_fetch_array($result);
                
                $text=$text.'<div id="pic">Galerie &gt; <a href="'.$_SERVER['PHP_SELF'].'?gid='.$gid.'&amp;start='.$s.'">'.$row['title'].'</a>  &gt; '.$row['name'].'<br>'."\n".'';
                
                            
                $text=$text.'<img class="displayed" src="'.path($gid,'image').$row['name'].'" width="'.$row['width'].'" height="'.$row['height'].'" border=0 ><br>'."\n"
                .mini_img($gid,$pid);
                
                if (logged_in()) { $text=$text.shop();} else { $text=$text.'Um den Shop sichtbar zu machen bitte einloggen!';}
                $text=$text.'</div>';
            }

    }}
elseif ($gid <>'')
    {    //album
        
        $sql = 'SELECT
                COUNT(*) as Anzahl
            FROM
                pics WHERE galid='.$gid;
                
                
                
        $result = mysql_query($sql) OR die(mysql_error());

        $anzahl = mysql_result($result, 0);
        if ($s =='') {$start=1;} else {$start=$s;}
            
            // Anzahl der Pages berechnen.
        $num_pages = ceil($anzahl/9);

            // Anzahl auf min. 1 setzen
        if(!$num_pages) {
        $num_pages = 1;
        }

            // Die Start-Page muss zwischen
            // 1 und $num_pages liegen
        if($start < 1) {
            $start = 1;
        }
        if($start > ($num_pages)) {
            $start = $num_pages;
        }

            // offset für den Query bestimmen
        $offset = ($start - 1) * 9;        
        
        $sql = 'SELECT * FROM pics WHERE galid='.$gid.' ORDER BY name ASC LIMIT '.$offset.', 9';
        $result= mysql_query($sql);
        if (!$result)
            {
                $text='Fehler!';
            }
        elseif (mysql_num_rows($result)==0)
            {
                $text = 'Es sind keine Bilder in der Galerie!';
            }
        else
            {
            
                $i = 0;
            $text=$text.'<p>';
            if ($start!=1) {$text=$text.'<a href="'.$_SERVER['PHP_SELF'].'?start='.($start-1).'&amp;gid='.$gid.'"> < </a>';}
            
            $text= $text.seitenzahl($num_pages,$gid);
            
            if ($start!=$num_pages) {$text=$text.'<a href="'.$_SERVER['PHP_SELF'].'?start='.($start+1).'&amp;gid='.$gid.'"> > </a>';}
            $text= $text.'</p><div align="center"><table id="album"><tr>';
            while ($row = mysql_fetch_array($result))
              {
                if ($i == 3)
                {$text= $text.'</tr><tr>';
                 $i=0;
                }
                $text= $text.'<td width="201" height="201" align="center"><a href="'.$_SERVER['PHP_SELF'].'?gid='.$row['galid'].'&amp;pid='.$row['picid'].'&amp;start='.$start.'">'."\n"
                .'<img src="'.path($row['galid'],'thumbs').$row['name'].'" '
                .'width="'.$row['thumbswidth'].'" '
                .'heigth="'.$row['thumbsheight'].'" border=0><br>'.$row['name'].'</a></td>'."\n";
                $i++;
              }
            $text= $text.'</tr></table></div>'."\n"; 
                    
            }

    }
else
    { //Albumvorschau - Galerie
        $sql = "SELECT
                galerie.galid
            FROM
                galerie";
            
        $result = mysql_query($sql);

        $anzahl = mysql_num_rows($result);
        if ($anzahl == 0){
        $text = '<p align="center">Es sind keine Galerien für Sie verf&uuml;gbar.</p>';
        }
        elseif ($anzahl == 1) 
        {$gal=mysql_fetch_array($result);
        echo '<script type="text/javascript">
        location.href="index.php?gid='.$gal['galid'].'";
        </script>'; }
        else {
        if ($s =='') {$start=1;} else {$start=$s;}
            
            // Anzahl der Pages berechnen.
        $num_pages = ceil($anzahl/9);

            // Anzahl auf min. 1 setzen
        if(!$num_pages) {
        $num_pages = 1;
        }

            // Die Start-Page muss zwischen
            // 1 und $num_pages liegen
        if($start < 1) {
            $start = 1;
        }
        if($start > ($num_pages)) {
            $start = $num_pages;
        }

            // offset für den Query bestimmen
        $offset = ($start - 1) *9;        
                
                
                
                
        $sql = 'SELECT galerie.*, pics.name, pics.thumbswidth, pics.thumbsheight FROM galerie INNER Join pics ON galerie.toppic=pics.picid WHERE (galerie.toppic IS NOT NULL) ORDER BY galerie.galid DESC LIMIT '.$offset.' ,9';
        $result= mysql_query($sql);
        if (!$result)
            {
                $text='Fehler im Album! '.mysql_error();
            }
        elseif (mysql_num_rows($result)==0)
            {
                $text = '<p align="center">Es sind keine Galerien vorhanden<br> Schau bitte später noch mal vorbei...<br>Danke!</p>';
            }
        else
            {
            
            $i = 0;
            $text= $text.seitenzahl($num_page,'').'<div align="center"><table cellpadding="5" >'."\n".'<tr>';
            while ($row = mysql_fetch_array($result))
              {
                if ($i == 3)
                {$text= $text.'</tr><tr>';
                 $i=0;
                }
                $text= $text.'<td id="galery" align="center"><a href="'.$_SERVER['PHP_SELF'].'?gid='.$row['galid'].'&amp;start=1">'
                .'<img src="'.path($row['galid'],'thumbs').$row['name'].'" ' 
                .'width="'.$row['thumbswidth'].'" ' 
                .'heigth="'.$row['thumbsheight'].'" border=0><br>'.$row['title'].'</a></td>'."\n";
                
                
                $i++;
              }
            $text= $text.'</tr></table></div>'.                
                          seitenzahl($num_pages,'').'<p>Der Upload der Bilder erfolgt in den n&auml;chsten Tagen.<br>Bei Fragen - <a href="kontakt.php" title="Kontakt">Kontakt</a></p>'; 
            }    
    }}
echo $text;
}
function mini_img($gid,$pid) {
global $imagethumbspath;
$text='<div id="minipics" style="height:201px;">';
//vorherige Bilder
$sql_prev='SELECT picid, name FROM pics WHERE picid < '.$pid.' AND galid='.$gid.' ORDER BY picid DESC LIMIT 0,1';
$result_prev = mysql_query($sql_prev);
$i=0;
while($row_prev = mysql_fetch_array($result_prev)){
 $text .= '<a href="index.php?gid='.$gid.'&amp;pid='.$row_prev['picid'].'"><img id="pic_'.$i.'" onmouseover="pic(this.id)" onmouseout="pic_reset(this.id)" src="'.path($gid,'thumbs').$row_prev['name'].'" class="mini_pic" border="0"></a>'."\n";
$i++;}


//aktuelles Bild
$sql='SELECT  name FROM pics WHERE picid = '.$pid.'';
$result = mysql_query($sql);
$row=mysql_fetch_array($result);
$text=$text.'<img src="'.path($gid,'thumbs').$row['name'].'" id="mini_pic_akt" border="0">'."\n";

//nächsten Bilder
$sql_next='SELECT picid,name FROM pics WHERE picid > '.$pid.' AND galid='.$gid.' ORDER BY picid ASC LIMIT 0,1';
$result_next = mysql_query($sql_next);
while($row_next=mysql_fetch_array($result_next)){
$i++;
$text .='<a href="index.php?gid='.$gid.'&amp;pid='.$row_next['picid'].'"><img id="pic_'.$i.'" onmouseover="pic(this.id)" onmouseout="pic_reset(this.id)" src="'.path($gid,'thumbs').$row_next['name'].'" class="mini_pic" border="0"></a>'."\n";}

$text=$text.'</div>';



return $text;
}
function path($galid,$typ) {
global $imagepath, $imagethumbspath, $uploaddir;
$sql = 'SELECT title, datum FROM galerie WHERE galid ='.$galid.'';
$result= mysql_query($sql);

if (!$result) { return false;}
    else {
    $gal= mysql_fetch_array($result);
    if($gal['datum'] =='') { $timestamp ='';}
    else{
    $timestamp= strtotime($gal['datum']);}
    switch($typ) {
    case 'upload':    $path = $uploaddir.str_replace('.','_',$gal['title']).'_'.$timestamp.'/';
    break;
    case 'image':    $path = $imagepath.str_replace('.','_',$gal['title']).'_'.$timestamp.'/';
    break;
    case 'thumbs': $path = $imagethumbspath.str_replace('.','_',$gal['title']).'_'.$timestamp.'/';
    break;
    case 'uploadthumbs': $path = $uploaddir.'thumbs/'.str_replace('.','_',$gal['title']).'_'.$timestamp.'/';
    break;    
    } }
return $path;
}

function seitenzahl($num_pages,$gid)
{ global $start;
if($num_pages > 1) 
                {
                  $text= $text. "\n";
                  for($i = 1; $i <= $num_pages; $i++) 
                      {
                      if($i == $start) 
                          {
                          $text= $text. $i."\n";
                          } 
                      elseif($gid <>'') 
                          {
                          $text= $text. '<a href="'.$_SERVER['PHP_SELF'].'?start='.$i.'&amp;gid='.$gid.'">'.$i."</a>\n";
                        }
                      else
                        {
                          $text= $text. '<a href="'.$_SERVER['PHP_SELF'].'?start='.$i.'">'.$i."</a>\n";
                        }    
                    }
                     $text= $text.  "\n";
                }
        return $text;         
}
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.989
Beiträge
1.540.242
Mitglieder
68.192
Neuestes Mitglied
Sheraz
Oben