php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 27.12.2005, 19:18  
Gast
 
Beiträge: n/a
Standard Problem mit While-Schleife

Hallo Leute,

ich glaub, im folgenden Code steckt ein Denkfehler, der für mich nicht ersichtlich ist:

PHP-Code:
        $i 0;
        while(
$files[] = readdir($dp))
        {
            if(
$files[$i] == $_REQUEST["image"])
            {
                
$a $i-1;
                
$b $i+1;
                
                echo 
"<span class=\"headline\">";
                echo 
"<img src=\"images/misc/" SYMBOL1 "\" align=\"absmiddle\">";    
                echo 
"<u>" $_REQUEST["page"] . "</u></span>(Imagename:" $_REQUEST["image"] . " / Imagesize:$widthx$height/$var)
"

                echo 
"<span class=\"postattribute\">"
                echo 
"note: [1] back/forward, [2] picture-index, [3] galery-index"
                echo 
"</span>

"

                
                echo 
"<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr>"
                echo 
"<td width=\"90\">"
                
                
#Image-back 
                
echo $a
                echo 
"<a href=\"http://" $host $file "?site=gallery&page=" $_REQUEST["page"] . "&image=" $files[$a] . "\">"
                echo 
"<img src=\"images/misc/pointer_left.gif\">"
                echo 
"</a>"
                
                
#Image-forward
                
echo $b;
                echo 
"<a href=\"http://" $host $file "?site=gallery&page=" $_REQUEST["page"] . "&image=" $files[$b] . "\">"
                echo 
"<img src=\"images/misc/pointer_right.gif\">"
                echo 
"</a>"
                
                echo 
"</td>";
                
                
#Back to picture-index
                
echo "<td width=\"65\">"
                echo 
"<a href=\"http://" $host $file "?site=gallery&page=" $_REQUEST["page"] . "\" title=\"back to picture-index\">"
                echo 
"<img src=\"images/misc/pointer_imgindex.gif\">";
                echo 
"</a>"
                echo 
"</td>";
                
                
#Back to galery-index
                
echo "<td>"
                echo 
"<a href=\"http://" $host $file "?site=gallery\" title=\"back to galery-index\">"
                echo 
"<img src=\"images/misc/pointer_galindex.gif\">";
                echo 
"</a>"
                echo 
"</td>"
                
                echo 
"</tr></table>"
                
                echo 
"
"
;
                echo 
"<table cellpadding=\"1\" cellspacing=\"0\" border=\"0\" bgcolor=\"#000000\">"
                echo 
"<tr><td valign=\"top\" align=\"left\" width=\"100%\">";
                echo 
"<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" width=\"100%\" bgcolor=\"#FFFFFF\">"
                echo 
"<tr><td valign=\"top\" align=\"left\" width=\"100%\">";
                echo 
"<img src=\"images/gallery/" $_REQUEST["page"] . "/" $_REQUEST["image"] . "\">"
                echo 
"
</td></tr></table>"

                echo 
"</td></tr></table>"
            }
            
$i++;
        } 
Was das sein soll? Stellt euch eine Galerie mit einem Forward/Backward-Button vor. Betätige ich den Backward-Button, zeigt er mir auch das vorhergehende Bild. Betätige ich aber den Forward-Button, zeigt er mir gar keins. Die Variable "image" in der URL "...&image=" bleibt dann leer. Warum eigentlich????

mfg - h.
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 27.12.2005, 19:33  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard

In dem Moment, in dem du die Links ausgibst, existiert das Arrayelement mit dem nächsten Schlüssel noch gar nicht. Du müsstest das Array also erst komplett erzeugen und dann erst das aktuelle Bild ausgeben.
xabbuh ist offline  
Alt 27.12.2005, 19:37  
Gast
 
Beiträge: n/a
Standard

Okay, verstehe, aber wie soll dann der Lösungsweg aussehen? Mir fällt außer dieser Schleife nichts mehr Besseres ein, leider....
 
Alt 27.12.2005, 19:40  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard

Du müsstest dafür in der while-Schleife zunächst einmal nur die Dateinamen (plus gegebenenfalls zusätzlich benötigte Informationen) in dem Array abspeichern. Und erst nach dem Durchlauf der while-Schleife, wenn das Array also vollständig erzeugt wurde, kannst du dann die Ausgabe vornehmen.
Um keine Probleme mit dem Speicher zu bekommen würde ich außerdem nur dann die Dateiinformationen in dem Array speichern, wenn das aktuelle Element innerhalb der while-Schleife entweder das zur Zeit aktuelle bzw. das vorherige oder das nächste Bild ist.
xabbuh ist offline  
Alt 27.12.2005, 19:41  
Gast
 
Beiträge: n/a
Standard

okay, dann ran ans werk.
 
Alt 27.12.2005, 20:02  
Gast
 
Beiträge: n/a
Standard

Danke, VOLLTREFFER!!!
 
 


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
While schleife mit Datenbank in ein Dropdown Feld (Umlaut Problem) kintaro PHP Tipps 2008 6 28.08.2007 19:11
While schleife mit 2 Argumenten ? PHP Tipps 2006 5 09.03.2006 15:15
while Schleife gibt nicht alle Daten aus PHP Tipps 2006 2 12.01.2006 19:24
Problem mit while PHP Tipps 2007 2 23.11.2005 13:06
Feintuning einer While Schleife LA-Finest PHP Tipps 2007 2 14.11.2005 14:40
[Erledigt] While schleife in while schleife = nur ein datensatz?! PHP Tipps 2005-2 9 28.10.2005 12:48
Problem mit while und insert into PHP Tipps 2005-2 6 15.08.2005 19:29
while Schleife nur 5 mal durchlaufen lassen MatthiasNI PHP Tipps 2005-2 5 30.07.2005 11:21
While Schleife und Variablen Datenbanken 1 25.04.2005 08:57
while schleife beenden PHP Tipps 2005 3 29.03.2005 20:35
While Schleife mit einem Problem PHP Tipps 2005 16 12.01.2005 21:55
Problem mit ner schleife PHP Tipps 2004-2 3 24.11.2004 10:50
Problem mit links in Schleife web2 PHP Tipps 2004-2 2 23.11.2004 12:58
Zeilenumbrüche in while schleife? stefan-miti PHP Tipps 2004 1 05.10.2004 18:39
Array mit while Schleife auslesen PHP Tipps 2004 7 26.06.2004 19:56

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
datenbank umbrüche in while schleife ausgeben, http://www.php.de/php-tipps-2007/35243-problem-mit-while-schleife.html, innerhalb einer while schleife http, problem mit while schleife php, php file() probleme in while schleife, php while schleife in array speichern, php zeilenumbruch in while, probleme mit while schleife in php, php while $_request, while schleife plus, php while index, php while bei zeilenumbruch, php while schleife mit index, array in while schleife, schleife bis 100 php, php schleife umbruch, php while schleife geht nicht, php schleife zeilenumbruch, while schleife von 0 bis 100, php schleife plus 2

Alle Zeitangaben in WEZ +1. Es ist jetzt 10:36 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.