php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.12.2004, 14:13  
Gast
 
Beiträge: n/a
Standard [Erledigt] Seitenanzeige in einer BilderGallery

Hallo,
ich habe ein kleines problem und falls mir jemand helfen kann wäre ich sehr dankbar!
Ich habe eine kleine gallery programmiert die aus einem ordner alle bilder ausliest.
Nun würd ich gerne jeweils immer 10 bilder pro seite anzeigen lassen und die seitennummern unter den bildern anzeigen lassen, und da taucht schon das problem auf. Mit dem Code zeigt er mit zwar die richtige anzahl der seiten aber er gibt trotzdem pro seite alle bilder aus und nicht nur 10 pro seite wie ich das haben möchte.
falls jemand weiss wie ich dann am besten programmieren kann bitte ich ihn/sie zu mir zu helfen.
peace
mfg


hier mein code der bildergallery:
PHP-Code:
<?
include "config.php";

$ordner 'bilder'
$h '105'
$w '115'
$m '4'
$f 'png|gif|bmp|jpg|jpeg';

echo 
"<div align='left'>[b]Bilder[/b]</div><hr size='0' style='border: 1px #999933 dashed' width='100%' align='right'>";     

$dir opendir($ordner);
$counter=0;
while(
$file readdir($dir)){
    if(
$file != '.' && $file != '..' && preg_match('/.('.$f.')$/i'$file))
    
$bilder[] = $file;        
    
$counter++;
}    
closedir($dir);
$allbilder $counter-2;

$count;
foreach(
$bilder as $bild){
    
$size getimagesize($ordner.'/'.$bild);
    
$width $size[0];
    
$height $size[1];
   echo 
"<a href=javascript:jascopop('$ordner/$bild',$width,$height,'Bilder')>
          [img]$ordner/$bild[/img]
         </a>"
;
    if (++
$count $m == 0)
   echo 
"\n
\n"
;         
}

echo
"<hr size='0' style='border: 1px #999933 dashed' width='100%' align='right'>";

if(
$allbilder>10){
echo 
"<div align='left'>Seite:";

while(
$b<$allbilder/10){
$c=$b+1;
if(
$seite/10==$b){
echo 
$b+1;
}
else{
echo 
"<a href=\"./?p=bilder&seite=$b\">$c</a>";
}
$b++;
}} 
 echo
"
Bilder Gesamt: $allbilder</div>"
;
?>
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 10.12.2004, 15:32  
Gast
 
Beiträge: n/a
Standard

kann mir da keiner helfen??
oder sagen wo der fehler ist??
 
Alt 10.12.2004, 15:53  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

17.10. Ich habe eine Tabelle mit n Einträgen und möchte auf jeder Seite m davon anzeigen
http://www.php-faq.de/q/q-mysql-seitenweise.html
robo47 ist offline  
Alt 10.12.2004, 16:00  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
<?
include "config.php";

$ordner 'bilder';
$limit 10// anzahl der bilder pro seite
$h '105';
$w '115';
$m '4';
$f 'png|gif|bmp|jpg|jpeg';

echo 
"<div align='left'>[b]Bilder[/b]</div><hr size='0' style='border: 1px #999933 dashed' width='100%' align='right'>";    

$dir opendir($ordner);


while(
$file readdir($dir)){
    if(
$file != '.' && $file != '..' && preg_match('/.('.$f.')$/i'$file))
    
$bilder[] = $file;
}    
closedir($dir);

$allbilder count($bilder)-1// gesammt bilder
$start = isset($_GET['start'])?(int)$_GET['start']:1// aktuelleseite?
$num_pages ceil($allbilder/$limit); // insgesammt seiten

if(!$num_pages// unter null ?
    
$num_pages 1// dann 1
   
if($start 1)
   
$start 1// aktuelleseite kleiner als 1? dann 1.

if($start $num_pages)
   
$start $num_pages// aktuelleseite gröser als insgesammt?
   
$offset $start $limit// end index fürs array
$anf $offset $limit// beginn index fürs array

if($offset $allbilder// endindex gröser als vorhandene bilder?
   
$offset $allbilder// dann berichtigen
   
$count 1;
for(
$x=$anf$x $offset$x++) // richtige schleife
{
   
$size getimagesize($ordner.'/'.$bilder[$x]);
   
$width $size[0];
   
$height $size[1];
   
printf("<a href=javascript:jascopop('%s/%s',%s,%s,'Bilder')>
          <img src=\"%s/%s\" alt=\"Bild\" width=\"%s\" height=\"%s\" border=\"1\" >
         </a>"
$ordner$bilder[$x], $width$height$ordner$bilder[$x], $w$h);
   if(
$count $m == 0)
      echo 
"
"
;
   
$count++;       
}

echo
"<hr size='0' style='border: 1px #999933 dashed' width='100%' align='right'>";

if(
$num_pages 1// mehr als 1 seite? dann anzeigen
{
   echo 
"

\n"
;
   for(
$i 1$i <= $num_pages$i++)
   {
       if(
$i == $start// wir sind auf dieser seite? kein link machen
       
{
         echo 
$i."\n";
       } else {
         
printf('[url="?p=bilder&amp;start=%s"]%s[/url]%s',$i$i"\n");
       }
   }
   echo 
"</p>\n";
}
echo
"
Bilder Gesamt: $allbilder</div>"
;

?>
verbessert und getestet^^
 
Alt 10.12.2004, 17:25  
Erfahrener Benutzer
 
Registriert seit: 20.08.2007
Beiträge: 347
CHRIS befindet sich auf einem aufstrebenden Ast
Standard

Es kann hier nit rein zufällig wer posten wie es aussehen müsste wenn man z.b.

include.php?path=code.php hat
also die datei über ne datei aufruft .. weil so gehts auf jedne fall nit ! das

Im Prinzip müsste es so sein
include.php?path=code.php?p=bilder&amp;start=%s">% s</a> ...

aber es klappt nit :/
CHRIS ist offline  
Alt 10.12.2004, 17:29  
Gast
 
Beiträge: n/a
Standard

wenn du mir deine frage genauer erklärst werde ich drauf eingehen (wenn ich zuhause bin)

zur zeit verstehe ich da nur bahnhof... willst du eine datei dynamisch per include laden oder was?
 
Alt 10.12.2004, 18:46  
Erfahrener Benutzer
 
Registriert seit: 20.08.2007
Beiträge: 347
CHRIS befindet sich auf einem aufstrebenden Ast
Standard

Also ich laden alle daten indem ich sie mit include.php aufrufen
z.b. http://www.domain.de/include.php?path=code.php

nun kommt oben das script und will auch geladen werden dann greift include aber den falschen Pfad ab.

include.php?path=p=bilder&amp;start=%s">%s</a>

es müsste aber anders sein! da in der include nicht das Bilderscript ist!

LG Chris
CHRIS ist offline  
Alt 10.12.2004, 19:06  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von robo47
17.10. Ich habe eine Tabelle mit n Einträgen und möchte auf jeder Seite m davon anzeigen
http://www.php-faq.de/q/q-mysql-seitenweise.html
bei mir handelt es sich nich um eine mysql datenbank.
deswegen hilft mir das nicht weiter

Zitat:
verbessert und getestet^^
möchte mich bei dir bedanken!
peace
Mfg Jasz
 
Alt 10.12.2004, 19:22  
Gast
 
Beiträge: n/a
Standard

oki...

du hast das script include.php
das sieht in etwa so aus:
PHP-Code:
<?php
 
# achtung diese methode ist äuserst unsicher und sollte NICHT verwendung finden!
$paht = isset($_GET['path']) ? trim($_GET['path']) : 'main.php';
// wenn die variable vorhanden ist ? (true) ja ist da : (false) nein, wird ein defaultwert genommen;

if(!file_exists($path))
{
   include(
'error.php'); // datei nicht vorhanden, also fehlerseite laden

} else {
   include(
$path);
// ansonsten $path laden

 # besser ist so etwas:
 # ausserdem kann ich damit meine seite ganz einfach an eine datenbank anbinden
 # und die 'klickbaren' siten so ganz einfach in das array schreiben ;)
  
$_files = array('main' => 'home.php'
                         
'news' => 'news.php'
                         
'bilder' => 'gallery.php'
                         
'error' => 'error.php'); // usw. alle dateien, die 'besucht' werden dürfen in dieses array laden.

$id = isset($_GET['path']) ? trim($_GET['path']) : 'main';

if(!
array_key_exists($id), $_files)
    
$id 'error';

include(
$_files[$id]);

?>
dann sehe jetzt unser link so aus: include.php?path=bilder
nun möchten wir an die gallery.php die seite übergeben
link: include.php?path=bilder&page=2
so sollte es gehen (tuts bei mir auch)
den queltext zur bilder.php kannst du ja oben anpassen
 
Alt 10.12.2004, 20:26  
Erfahrener Benutzer
 
Registriert seit: 20.08.2007
Beiträge: 347
CHRIS befindet sich auf einem aufstrebenden Ast
Standard

Nein eben nit!
include.php?path=bilder&page=2 <-- in welche Datei sucht er ?? in keiner also landet man wieder auf der startseite! bzw. was man auch immer ausgewählt hat als index.php

Ich glaube du hast nicht ganz verstanden was ich will
also nochaml

Ich hab ne Include.php
mit dieser rufe ich die gallery auf namens gallery.php
also so:
include.php?path=gallery.php

das klappt soweit

dann will ich auf seite 2!

der link müsste
include.php?path=gallery.php?p=bilder&amp;start=%s ">%s</a>
sein

Ich weiß nti weiter :/

LG Chris
CHRIS ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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 are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Seitenanzeige bei LIMIT befehl in MySQL PHP Tipps 2007 2 09.12.2005 20:11
Bildergallery - Problem - HILFE! PHP Tipps 2005-2 2 21.08.2005 20:54
Problem mit einem Bildergallery Script (Strato Problem???) sharky PHP Tipps 2007 9 05.01.2005 11:00
Datums-und Zeitabhängige Seitenanzeige mit Soundausgabe Datenbanken 2 25.07.2004 00:03
PHP / Bildergallery Off-Topic Diskussionen 3 15.07.2004 00:28

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php galerie array seitenweise, php dynamische seitenanzeige

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:22 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.