kostenloser Webspace werbefrei: lima-city


Blätterfunktion mit Kategorienunterteilung und Bilder pro Seite auswählbar

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    k***********f

    erstmal moin alle zusammen

    Ich hab mir auch http://www.djtechnostyler.de.ms eine Kategorie "Pix ansehen" erstellt und die Pix wurden in einer Datenbank mit mehreren Kategorieen gespeichert. nun m?chte ich die Kategorieen einmal alle auslesen (alle Bilder anzeigen) und dann nochmal jede Kategorie einzelnt. au?erdem m?chte ich, dass der Besucer selbst entscheiden kann, wieviele Bilder pro seite angezeigt werden sollen. das hab ich in einem Formular mit Post gemacht. (siehe Homepage)
    wenn ich mit der Bl?tterfunktion jetzt aber von Seite 1 auf eine andere Seite wechsele, habe ich nicht mehr die eingestellten Optionen, sondern die erste Einstellung, wenn man diese Kategorie "Pix ansehen" betritt. Ich hab das ganze so aufgebaut, dass alle Bilder angezeigt werden, wenn in den Optionen nichts steht.
    schauts euch einfach mal auf http://www.djtechnostyler.de.ms an. Hier abe ich das Script dazu:

    $kategorie = $_POST["kategorie"];
                    $anzahl = $_POST["anzahl"]; 
                    
    		
    			
    			echo '<form method="POST" action="picshow.php">
    				<p align="left"><font size="2">Kategorie w?hlen:</font><select size="1" name="kategorie" style="font-family: Verdana; font-size: 7pt; color: #FFFFFF; border: 1px dotted #2A2A2A; background-color: #2A2A2A; font-weight:bold">
    				
     
                    <option selected>'.$kategorie.'</option>
    
    				<option>Fun</option>
    				<option>Extreme</option>
    				<option>Wallpaper</option>
    				</select>
    				<font size="2">Anzahl Bilder pro Seite:</font>
    				<!--webbot bot="Validation" s-display-name="anzahl" s-data-type="Integer" s-number-separators="x" i-maximum-length="2" -->
    				<input type="text" name="anzahl" size="7" style="font-family: Verdana; font-size: 7pt; color: #FFFFFF; font-weight: bold; border: 1px dotted #2A2A2A; background-color: #2A2A2A" maxlength="2"  value="'.$anzahl.'">
    				<input type="submit" value="GO" name="B1" style="font-family: Verdana; font-size: 7pt; color: #FFFFFF; border: 1px dotted #2A2A2A; background-color: #2A2A2A; font-weight:bold"></p>
    			     </form>';
    			
    			
    
    $seite = $_GET["seite"];  //Abfrage auf welcher Seite man ist 
    
    //Wenn man keine Seite angegeben hat, ist man automatisch auf Seite 1 
    if(!isset($seite)) 
       { 
       $seite = 1; 
       } 
    
    //Verbindung zu Datenbank aufbauen 
    
    $link = mysql_connect("mysql.lima-city.de","USER","PASSWORT") or die ("Keine Verbindung moeglich"); 
    mysql_select_db("DATENBANK") or die ("Die Datenbank existiert nicht"); 
    
    
    //Eintr?ge pro Seite: Hier 15 pro Seite
    
    
    $anzahl = $_POST["anzahl"];
    
    if($anzahl=="")
       {
       $eintraege_pro_seite = 10;
       }
    else
       {
       $eintraege_pro_seite = $anzahl ;
       }
    
    
    
    //Ausrechen welche Spalte man zuerst ausgeben muss: 
    
    $start = $seite * $eintraege_pro_seite - $eintraege_pro_seite; 
    
    
    //Tabelle Abfragen 
    //Tabelle hei&szlig;t hier einfach: Tabelle 
    
    if($kategorie=="")
       {
        $abfrage = "SELECT bild FROM uploadbilder ORDER BY bilderid DESC LIMIT $start, $eintraege_pro_seite"; 
    $ergebnis = mysql_query($abfrage); 
    while($row = mysql_fetch_object($ergebnis)) 
        { 
       echo $row->bilderid.'<a title="'.$row->bild.'" target="_blank" href="uploadbilder/'.$row->bild.'">
    			<img border="0" src="uploadbilder/'.$row->bild.'" width="100" height="110"></a>'; // Hier die Ausgabe der Eintr?ge 
       }
       }
    else
       {
       $abfrage = "SELECT bild FROM uploadbilder WHERE kategorie LIKE '$kategorie' ORDER BY bilderid DESC LIMIT $start, $eintraege_pro_seite"; 
    $ergebnis = mysql_query($abfrage); 
    while($row = mysql_fetch_object($ergebnis)) 
        { 
       echo $row->bilderid.'<a title="'.$row->bild.'" target="_blank" href="uploadbilder/'.$row->bild.'">
    			<img border="0" src="uploadbilder/'.$row->bild.'" width="100" height="110"></a>'; // Hier die Ausgabe der Eintr?ge 
       }
       }
    
    
    //Jetzt kommt das "Inhaltsverzeichnis", 
    //sprich dort steht jetzt: Seite: 1 2 3 4 5 
    
    
    //Wieviele Eintr?ge gibt es ?berhaupt 
    
    //Wichtig! Hier muss die gleiche Abfrage sein, wie bei der Ausgabe der Daten 
    //also der gleiche Text wie in der Variable $abfrage, blo&szlig; das hier das LIMIT fehlt 
    //Sonst funktioniert die Bl?tterfunktion nicht richtig, 
    //und hier kann nur 1 Feld abgefragt werden, also id 
    
    
    if($kategorie=="")
       {
       $result = mysql_query("SELECT bilderid FROM uploadbilder ORDER BY bilderid DESC"); 
    $menge = mysql_num_rows($result);
       }
    else
       {
       $result = mysql_query("SELECT bilderid FROM uploadbilder WHERE kategorie LIKE '$kategorie' ORDER BY bilderid DESC"); 
    $menge = mysql_num_rows($result);
       }
    
    
    //Errechnen wieviele Seiten es geben wird 
    $wieviel_seiten = $menge / $eintraege_pro_seite; 
    
    //Ausgabe der Seitenlinks: 
    echo "<div align=\"center\">"; 
    echo "<b>Seite:</b> "; 
    
    
    //Ausgabe der Links zu den Seiten 
    for($a=0; $a < $wieviel_seiten; $a++) 
       { 
       $b = $a + 1; 
    
       //Wenn der User sich auf dieser Seite befindet, keinen Link ausgeben 
       if($seite == $b) 
          { 
          echo "  <b>$b</b> "; 
          } 
    
       //Aus dieser Seite ist der User nicht, also einen Link ausgeben 
       else 
          { 
          echo "  <a href=\"?seite=$b\">$b</a> "; 
          } 
    
    
       } 
    echo "</div>";



    Die Datenbankangaben sind nat?rlich ge?ndert, also nicht wundern, wenn da bei euch ein MySQL-Fehler kommt. ^^
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. Autor dieses Themas

    k***********f

    hmmm,kann oder will mir keiner helfen?
    ich versuch n?mlich die Dateimenge m?glichst klein zu halten...
  4. n********r

    setzt mal am Anfang deines scripts folgendes:

    error_reporting(E_ALL);

    und schreibe hier mal die Ausgabe hin

    Beitrag ge?ndert am 26.07.2006 17:37 von newwarrior
  5. Autor dieses Themas

    k***********f

    also dieses E_ALL in der Klammer ersetzen oder wie?
  6. n********r

    schreib einfach das ganz am Anfang deines scripts:

    error_reporting(E_ALL);
  7. Autor dieses Themas

    k***********f

    tut mir sorry, das funzt iwie auch net so richtig.
  8. n********r

    speichere mal deinen ganzen Code von der Seite in einer .txt Datei und dann gib mal den Link her.
  9. 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!