kostenloser Webspace werbefrei: lima-city


hilfe bei php script

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    fireman02

    fireman02 hat kostenlosen Webspace.

    hallo,
    ich habe mir f?r eine bildergallerie ein script geschrieben. Dieses funktzioniert folgenderma?en:
    hinten an die url wird angeh?ngt "id=$id" und mithilfe dieser id schaut das script in der datenbank nach aus welchem ordner es die bilder auslessen soll. jetzt steht da z.b. wandertag.
    er lie?t die bilder alle aus, dabei wird geschaut ob das bild hoch oder querformat ist und dem entsprechend wird es verkleinert dargestellt. das klappt alles wunderbar.
    doch wenn jetzt zb 50 bilder in diesem ordner sind werden alle angezeigt, wodurch zu ewig langen wartezeiten kommt und ?berlastung manch ?lterer computer. sogar mein pc ist schon beim lokalen testlauf mit 3,0 GHZ und 512 MB DDR RAM h?ngen geblieben.

    nun wollte ich fragen wie ich da eine bl?tterfunktzion einbauen k?nnte.


    hier das script:
    $counter = 1;
    echo"<table border=\"0\" cellpadding=\"4\" cellspacing=\"0\">";
    
    $abfrage = "SELECT * FROM 8a_bilderkategorie WHERE id = '$id2'";
    $ergebnis = mysql_query($abfrage);
    while($row = mysql_fetch_object($ergebnis)){
    $ordnername = $row->name;
    $ordnername = str_replace(' ', '_', $ordnername);
    }
        $files = glob("bildergallerie/$ordnername/*.jpg");
        if(is_array($files)) {
            foreach($files as $file) {
             $files = explode("/", $file);
                $datei = $files[2];
                $dateipfad = $file;
                $info = getimagesize($dateipfad);
                $width = $info[0];
                $height = $info[1];
                 if($width > $height) { $format = "quer";}
                 elseif($width < $height) { $format = "hoch";}
                if($format == "quer"){ $width_small = "240"; $height_small = "180";}
                elseif($format == "hoch"){ $width_small = "180"; $height_small = "240";}
       $zahl = $counter%2;
    if($zahl!==0){ echo "<tr><td valign=\"top\" align=\"center\">";}
    elseif($zahl==0){ echo "<td valign=\"top\" align=\"center\">";}
    echo "<a href=\"$dateipfad\" target=\"_blank\"><img src=\"$dateipfad\" width=\"$width_small\" height=\"$heigh_smallt\" border=\"0\"></a>";
    if($zahl==0){ echo "</td></tr>";}
    elseif($zahl!==0){ echo "</td>";}
     $counter++;
            }
        }
    echo "</table>";
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. e********l

    Du kannst mit LIMIT die Anzahl der zur?ckgegebenen Zeilen beschr?nken.

    MIt LIMIT 0,9 gibt du zb nur die ersten 9 Zeilen aus der Tabelle zur?ck.
  4. benutzernaemelchen

    Kostenloser Webspace von benutzernaemelchen

    benutzernaemelchen hat kostenlosen Webspace.

    Also irgendwie kapier ich dich nich...

    Du benutzt, um die Tabelle auszugeben, die ".
    Wo du doch die " im Html Dann escapen musst?
    Bei str_replace() nimmst du dann die ' ?
    Warum dann nich auch beim HTML?
    dann musst du die " ja nichmehr escapen...
  5. m***y

    w?rde es mit limit l?sen.
    also gibts am besten bild 1-10 aus (geht am besten wenn jedes bild eine id hat.) und dann 11-20,...
  6. Autor dieses Themas

    fireman02

    fireman02 hat kostenlosen Webspace.

    und wo soll ich das limit einsetzen? bei einer datenbank abfrage wei? ich wie sowas geht aber beim auslesen von dateien leider nicht...
  7. p***2

    fireman02 schrieb:
    und wo soll ich das limit einsetzen? bei einer datenbank abfrage wei? ich wie sowas geht aber beim auslesen von dateien leider nicht...


    $abfrage = "SELECT * FROM 8a_bilderkategorie LIMIT 0,9 ";
  8. Autor dieses Themas

    fireman02

    fireman02 hat kostenlosen Webspace.

    nein das kann nicht sein... es wird eh immer nur eine kategorie aus der datenbank geladen. aus dem ordner mit dem kategorie namen werden dann die ganzen bilder geladen, das w?re dann diese zeile:
    $files = glob("bildergallerie/$ordnername/*.jpg");

    doch kann ich da ein limit einbauen?
  9. p***2

    fireman02 schrieb:
    nein das kann nicht sein... es wird eh immer nur eine kategorie aus der datenbank geladen.


    Mmmm.. das verstehe ich nun nicht ganz hier machst Du verschiedene Aussagen! Wenns so w?re brauchste auch kein Limit oder Bl?tterfunktzion.
    Wenn Du wie hier angegeben bildergallerie/$ordnername/*.jpg bekommst Du alle Bilder mit der Dateierweiterung .jpg ausgegeben und diese m?chtest Du doch Limitieren (wenn es z.B. 100 .jpg's sind)
  10. Autor dieses Themas

    fireman02

    fireman02 hat kostenlosen Webspace.

    ich m?chte die bilder aus bildergallerie/$ordnername/ laden. doch wenn da jetzt zb 110 bilder im ordner liegenn m?chte ich das nur die ersten 10 ausgegeben werden, und das unten steht:
    zur?ck 1 2 3 4 5 weiter

    und das wenn ich auf seite 2 klicke das die bilder von 11 bis 20 ausgegeben werden.
  11. p***2

    fireman02 schrieb:
    ich m?chte die bilder aus bildergallerie/$ordnername/ laden. doch wenn da jetzt zb 110 bilder im ordner liegenn m?chte ich das nur die ersten 10 ausgegeben werden, und das unten steht:
    zur?ck 1 2 3 4 5 weiter
    und das wenn ich auf seite 2 klicke das die bilder von 11 bis 20 ausgegeben werden.


    Mmmm... verstehe Dich schon, nur genau um diese vrgehensweise realisieren zu k?nnen, must! Du ein Limit angeben.
    Ich habe es dann mit $edit_list1 = mysql_query("SELECT * FROM Spalte limit $start, $eintraege");while($db_res = mysql_fetch_assoc($edit_list1)){

    Schau mal unter http://pcwagner.de G?stebuch dort habe ich eine solche Aufteilung gemacht.

    Hier mal ein Ausschnitt dieses Scripts :
    .....

    $list1 = mysql_query("SELECT * FROM Spalte ");
    $xanzahl=mysql_numrows($list1);
    if(mysql_numrows($list1)){
    // Navigation f?r Seitenanzeige
    // seitenzahl (gesSeiten/eintraege wenn wert < ,0 wird aufgerundet
    $gesseiten=ceil($xanzahl/$eintraege);
    if(isset($_GET[richtung])){$richtung=$_GET[richtung];$start=$_GET[start];}
    if(isset($_GET[seite])){$seite=$_GET[seite];$start=$_GET[start];}else{$seite=1;$start=0;}
    if($richtung == weiter) {$start=$start+$eintraege;$seite++;}
    if($richtung == zurueck){$start=$start-$eintraege;$seite--;}
    echo"<table border=0 cellpadding=0 cellspacing=0 width=100%><tr>";
    if($seite>1){echo"<td width=\"35%\" align=\"right\"><a title=\"Seite r?ckw?rts\" style=\"text-decoration: none\" href=$PHP_SELF?do=default&type=$_GET[type]&richtung=zurueck&seite=$seite&start=$start><b> <<< </a></td>";}else{echo"<td width=\"35%\">&nbsp;</td>";}
    echo"<td width=\"20%\" align=\"center\" style=\"color: #000099\"><b>Seite $seite/$gesseiten</td>";
    if($gesseiten > $seite){echo"<td width=\"35%\" align=\"left\"><a title=\"Seite vorw?rts\" style=\"text-decoration: none\" href=$PHP_SELF?do=default&type=$_GET[type]&richtung=weiter&seite=$seite&start=$start><b> >>> </a></td>";}else{echo"<td width=\"35%\">&nbsp;</td>";}
    echo"</tr>
    </table>
    <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">";
    $edit_list1 = mysql_query("SELECT * FROM Spalte WHERE status='ok' and type='$_GET[type]' order by id desc Limit $start, $eintraege");
    while($db_res = mysql_fetch_assoc($edit_list1))
    {$kommentar=urldecode($db_res[message]);
    echo "<tr><td ......



    Ich hoffe , Dir damit eine Gedankenst?tze geboten zu haben. Das Prinzip ist zu erkennen.
    MfG
  12. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!