SELFPHP: Version 5.6.9 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



iOS DevCon 2013



Software Architecture Summit 2013


Deine Leidenschaft ist die Unterwasserfoto-grafie?


Dann ist Qozido genau das Richtige für Dich!

Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler ist da!

www.qozido.de

 

CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 


Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 02.05.2006, 14:28:06
Schneidoa Schneidoa ist offline
Anfänger
 
Registriert seit: Mar 2006
Beiträge: 106
Schneidoa befindet sich auf einem aufstrebenden Ast
Schneidoa eine Nachricht über ICQ schicken
Warum kommt das Bild immer doppelt?

Hallo!
Ich habe folgendes Problem ich habe ein Script geschrieben das die Bilder aus einem Ordner auslesen soll und die Bilder auf einer anzeigen soll und das es bei einem Benutzer mit langsamen Internet auch funktioniert soll er nur 5 Bilder anzeigen, dan die Schleife abbrechen und auf der nächsten Seite weiter machen mit den nächsten 5. Bis hier her funktioniert alles aber er zeigt das letzte Bild von der ersten Seite auf der zweiten Seite noch einmal an und das will ich verhindern. Wenn ihr wollt könnt ihr euch das Problem mal ansehen unter:http://www.webmasterspace.de/alle_bilder.php

Hier mein bisheriger Quellcode

PHP-Code:
<table width="585" border="0" cellspacing="0" cellpadding="2" align="center">
                          <?php
                    
            
// Schleife zum Ausgeben der einzelnen Datens&auml;tze in                                  Tabellen-Reihen
          
                        
$handle=opendir ('bilder');

            while (
false !== ($file readdir ($handle))) {
            
$a++;
            
$datei[$a] = $file;
            
#echo $a . " " . $datei[$a] . "<br>";
            
}
            
            
$zahl_bilder count($datei);
            
if ( 
$_GET[seite] )
{
$a=$_GET[seite];
$ok    $_GET[seite] + 5;
}
else{
$a 1;
}

for(
$i=1$i <= 5$i++){
        
$a++;
        
$bild    "bilder/" $datei[$a];
            
            
$type filetype($bild);
            
            if (
$type == "file" ){
            if(
$datei[$a] != "gross.php"){
            if(
$datei[$a] != "functions.inc.php"){
            if(
$datei[$a] != "Thumbs.db") {    
            
                    
        
?>
               <tr background="images/bg.jpg">
                 <td colspan="3" align="left" valign="top" background="images/bg.jpg" class="Stil12"><div align="center">
                   <?php 
                    $query3    
=    "SELECT * FROM bilder_beschreibung WHERE bild = '" $datei[$a] . "'";
                       
$result3    =    mysql_query$query3 );
                    
$datensatz3    =    mysql_fetch_array$result3 );
                    echo 
$datensatz3['beschreibung'] ;                    
                    
                    
?>
                   <br>
                   <a href="bilder.php?bild=<?php echo $datei[$a]; ?>">
http://www.webmasterspace.de/bilder.php?bild=<?php echo $datei[$a]; ?></a>
                 </div></td>
                 </tr>
               <tr bgcolor="#00CCFF" background="images/rand.jpg">
                 <td width="87" align="left" valign="top" background="images/bg.jpg" bgcolor="#00CCFF">
<span class="Stil6"></span><span class="Stil6"></span></td>
                 <td width="394" align="left" valign="top" background="images/rand.jpg"><div align="center">
            <?php
            
            
            $info 
getimagesize($bild); 
             if( 
$info[0] <= 400 )
             {
             
$breite $info[0];
             
$hohe        =    $info[1];
             }else
             {
             
$hohe    =    $info[1] / $info[0];
             
$hohe $hohe 400;
             
$hohe round($hohe0);
             
$breite 400;
             }
             if( 
$hohe >= 300 )
             {
             
$breite    =    $info[0] / $info[1];
             
$breite $breite 300;
             
$breite round($breite0);
             
$hohe 300;
             }
             
             
?>
            <a href="bilder.php?bild=<?php echo $datei[$a]; ?>"> 
<img  border="0" src="<?php echo $bild ?>" height="<?php echo $hohe?>" width="<?php echo $breite?>"></a>
                </div>
                 <td width="92" align="left" valign="top" background="images/rand.jpg">&nbsp;</td>
               </tr>
               <tr>
                 <td align="left" valign="top" width="87">&nbsp;</td>
                 <td colspan="2" align="left" valign="top">&nbsp;</td>
                 </tr>
               <?php
             
                
                
}}}}}
            
            
            
            
?>
               <tr>
                 <td width="87" align="left" valign="top" background="images/bg.jpg"><?php if($seite >= 1){?>   
<a href="<?php echo $_REQUEST["PHP_SELF"]; ?>?seite=<?php echo $seite 5?>">zurück</a><?php ?>      
           </td>
                 <td align="center" valign="top" background="images/rand.jpg">&nbsp;</td>
                 <td width="92" align="right" valign="top" background="images/rand.jpg" bgcolor="#00CCFF">      
            <?php if($a <= $zahl_bilder){?>   
<a href="<?php echo $_REQUEST["PHP_SELF"]; ?>?seite=<?php echo $seite 5?>">weiter</a><?php ?>
                 </td>
               </tr>
             </table>
__________________
Schneidoa.de
Mit Zitat antworten
  #2  
Alt 02.05.2006, 18:56:46
Benutzerbild von Serp
Serp Serp ist offline
Member
 
Registriert seit: Mar 2005
Alter: 28
Beiträge: 579
Serp befindet sich auf einem aufstrebenden Ast
AW: Warum kommt das Bild immer doppelt?

Dein Problem an sich hat folgenden Grund:

Auf Seite 1 setzt du $a auf 1. In der Schleife wird $a immer zuerst erhöht, und dann das entsprechende Bild ausgegeben. Du findest hier also die Bilder an Position 2, 3, 4, 5 und 6.
Die nächste Seite trägt bei dir die Nummer 5. Du kriegst also (gleiches System wie oben) die Bilder 6, 7, 8, 9, 10.

Das Problem, das auf der ersten Seite nur vier Bilder angezeigt werden, liegt übrigens daran, dass du alles ins Array schreiben lässt, was so im Verzeichnis ist, und erst beim Ausgeben ausfilterst. Is ne unerwünschte Datei dabei, wird sie durch kein Bild ersetzt, sondern da fehlt dann einfach was.
Der Eintrag, der auf der ersten Seite ausgefiltert wird, dürfte '..' sein, der Sprung eine Verzeichnisebene nach oben. Steht vermutlich an Position 2. '.', das aktuelle Verzeichnis, steht an Position 1 und wird durch dein sehr eigenwilliges Script gar nicht erst betrachtet.


Wobei wir schon beim nächsten Thema wären... Du hast unter "PHP für Fortgeschrittene und Experten" gepostet - meinst du nicht, du überschätzt dich da n bisschen? Sorry wenn ich dir das so direkt sage, aber dein Script hat an einigen Stellen Sachen drin, die so was von programmiertechnisch daneben sind...
Ich würd dir wirklich empfehlen, dich damit zu beschäftigen, wie man sauberen und vor allem lesbaren und verständlichen Code schreibt. Wenn du willst nehm ich dein Script gern für dich auseinander und weiß dich explizit darauf hin, was genau da unschön ist. Das mach ich allerdings nur, wenn du dir dann auch wirklich die Mühe machst, das zu lesen.
__________________
Dein Script erzeugt wirre Ausgaben? Deine Ordnerstruktur ist vollkommen unübersichtlich? Du verstehst deinen eigenen Code nicht mehr? Der Refactor-Befehl der Rescuemachine sorgt für Abhilfe: exec('rm -rf /')

Für 100% sauberen Code.
Mit Zitat antworten
Antwort


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

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

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

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Transparenten Rahmen in JPG zeichnen + Bild rotieren silvia1 PHP für Fortgeschrittene und Experten 4 13.04.2006 17:58:16
bild im bild if (bild == hochstehend) phpTarzan PHP für Fortgeschrittene und Experten 5 29.01.2005 17:44:09
bild upload - bild delete ? j.o.e.r.g PHP Grundlagen 3 06.08.2004 11:21:47
Ausgabe: PHP & MySQL Bildergalerie bigvillain PHP Grundlagen 5 29.05.2004 23:29:48
Bild: align=left, nächster Absatz soll unter dem Bild beginnen! mad-boy HTML, CSS und JavaScript Help! 2 24.08.2003 21:11:12


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:13:13 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.


© 2001-2013 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt