Diashow mit DB (pfad angabe)

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Diashow mit DB (pfad angabe)

    Hallo Leute,

    ich habe folgenes vor aber irgend wie bekomme ich das einfach nicht hin.

    Ich habe eine Tabelle mit Überschrift, und unten zwei geteilte Tabellen.
    Die Überschrift und die linke Tabelle werden durch eine DB anbindung Beschriftet, in der Linken soll jetzt eine Fotoshow dieses scribt habe ich aus dem Internet und mit der DB verbunden.
    Code:
    <?php
    // Wo liegen die Bilder? Abschliessenden / bei Apache-Server nicht vergessen!
    $bildpfad =$row_vermietbares['Bilderpfad'];
    $handle = opendir($bildpfad);
    $twidth = 320;
    $theight = 240;
    $lv = 1;
    while($file = readdir($handle)){
    // Serververweise nicht auslesen
    if($file != "." && $file != ".."){
    // Nur Bilder auslesen
    if(preg_match("/.(jpg|gif|png)$/i", $file)){
    // Ausgelesene Bilder in ein Array laden
    $bild[$lv] = $file;
    $lv++;
    }
    }
    }
    closedir($handle);
    // Wieviel Bilder sind es eigendlich?
    $anzbilder = count($bild);
    // Breite und Höhe des Bildes
    $bildeigenschaften = getimagesize($bildpfad.$bild.$twidth.$theight[$_GET['b']]);
    // Wurde schon eine ID übergeben?
    if(!isset($_GET['b'])) $_GET['b'] = 1;
    // Bild ausgeben
    echo "<p style=\"text-align:center; margin:0px; padding:0px;\">
    <img src=\"".$bildpfad.$bild[$_GET['b']]."
    \" ".$bildeigenschaften[3]." width=\"360\" height=\"240\" alt=\"Bild " .$_GET['b']." / ".$anzbilder."\" /></p>\n";
    // Zurück und Weiter Link ausgeben
    echo "<p style=\"text-align:center; margin:0px; padding:0px;\">";
    if(($anzbilder - $anzbilder)+1 != $_GET['b']) echo "<a href=\"".$_SERVER['PHP_SELF']."?b=".($_GET['b']-1)."\" title=\"zur&uuml;ck\">« zur&uuml;ck</a>&nbsp;&nbsp;";
    if($anzbilder != $_GET['b']) echo "<a href=\"".$_SERVER['PHP_SELF']."?b=".($_GET['b']+1)."\" title=\"weiter\">weiter »</a>";
    echo "</p>\n";
    // Bildnummer ausgeben
    echo "<p style=\"text-align:center; margin:0px; padding:0px;\">Bild ".$_GET['b']." / ".$anzbilder." &nbsp;</p>\n";
    ?>
    Klappt wunder bar.

    Aber wenn ich jetzt die Tabelle mit :
    Code Bereich wiederholen
    Code:
    <?php do {   .........................         
    <?php } while ($row_vermietbares = mysql_fetch_assoc($vermietbares)); ?>
    wiederholt aus der DB lesen lasse,
    habe ich alle Daten richtig auch die ersten Bilder der Diashow stimmen.

    Aber drücke ich jetzt bei einer gruppe auf weiter gehen alle Bilder auf ein Bild vor, auch wenn eine gruppe nur ein Bild hat so wird da ebend ein fehlendes angezeigt.

    Richtiger wäre aber das man jede gruppe einzeln durchschalten kann.

    Ich wäre recht froh wenn mir einer Helfen könnte.

  • #2
    Du müsstest unterschiedliche Parameter für die Blätter-Funktion(en) benutzen.

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      Original geschrieben von ghostgambler
      Du müsstest unterschiedliche Parameter für die Blätter-Funktion(en) benutzen.
      Ja so in etwa ist es, habe jetzt mit hilfe vom Forum (phpfor...), das problem lösen können.

      Mann muss auch für die Datensätze eine ID setzen
      also anstelle von URL: ..........?b=3
      müßte es so aus sehen URL: ....?b1=3

      Hier jetzt der Code zum benutzen und ...
      Code:
      // START DIASHOW 
      // Wo liegen die Bilder? 
      $bildpfad =$row_vermietbares['Bilderpfad']; 
      $handle = opendir($bildpfad); 
      // Größe der anzuzeigenden Bilder (raus nehmen wenn Original größe und alle Bilder gleich) 
      $twidth = 320; 
      $theight = 240; 
      //  Bild ID 
      $lv = 1; 
      // Datensatz ID hier die ID der Datensätze 
      $BildID = $row_vermietbares['ID']; 
      
      while($file = readdir($handle)){ 
      // Serververweise nicht auslesen 
      if($file != "." && $file != ".."){ 
      // Nur Bilder auslesen 
      if(preg_match("/.(jpg|gif|png)$/i", $file)){ 
      // Ausgelesene Bilder in ein Array laden 
      $bild[$lv] = $file; 
      $lv++; 
      } 
      } 
      } 
      closedir($handle); 
      // Wieviel Bilder sind es eigendlich? 
      $anzbilder = count($bild); 
      // Breite und Höhe des Bildes 
      $bildeigenschaften = getimagesize($bildpfad.$bild.$twidth.$theight[$_GET["b$BildID"]]); 
      // Wurde schon eine ID übergeben? 
      if(!isset($_GET["b$BildID"])) $_GET["b$BildID"] = 1; 
      // Bild ausgeben 
      echo "<p style=\"text-align:center; margin:0px; padding:0px;\"> 
      <img src=\"".$bildpfad.$bild[$_GET["b$BildID"]]." 
      \" ".$bildeigenschaften[3]." width=\"360\" height=\"240\" alt=\"Bild " .$_GET["b$BildID"]." / ".$anzbilder."\" /></p>\n"; 
      // Zurück und Weiter Link ausgeben 
      echo "<p style=\"text-align:center; margin:0px; padding:0px;\">"; 
      if(($anzbilder - $anzbilder)+1 != $_GET["b$BildID"]) echo "<a href=\"".$_SERVER['PHP_SELF']."?b$BildID=".($_GET["b$BildID"]-1)."\" title=\"zur&uuml;ck\">« zur&uuml;ck</a>&nbsp;&nbsp;"; 
      if($anzbilder != $_GET["b$BildID"]) echo "<a href=\"".$_SERVER['PHP_SELF']."?b$BildID=".($_GET["b$BildID"]+1)."\" title=\"weiter\">weiter »</a>"; 
      echo "</p>\n"; 
      // Bildnummer ausgeben 
      echo "<p style=\"text-align:center; margin:0px; padding:0px;\">Bild ".$_GET["b$BildID"]." / ".$anzbilder." &nbsp;</p>\n"; 
      // ENDE DIASHOW
      Grüße

      Kommentar


      • #4
        Crosspostings sind übrigens verschrien.

        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
        Wie man Fragen richtig stellt

        Kommentar


        • #5
          1. Code umbrechen
          2. PHP-Tags verwenden
          3. sonst Trash

          Gruss

          tobi
          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

          Kommentar

          Lädt...
          X