Fabienne: 3 Datensätze abrufen

Hi und guten Abend,

ich bastle gerade an einer Galerie.
Ich möchte das aktuelle Bild aus der DB holen, gleichzeitig aber das Bild zuvor und das Bild danach auch noch kennen (als Preview).

Gibt es einen Möglichkeit die "benachbarten" Datensätze gleich mit anzufragen. Ich denke da an eine Art LIMIT -1,1. Geht sowas überhaupt?

Viele Grüße
Fabienne

  1. Gibt es einen Möglichkeit die "benachbarten" Datensätze gleich mit anzufragen. Ich denke da an eine Art LIMIT -1,1. Geht sowas überhaupt?

    Du benötigst manchmal eine Kombination aus WHERE (ggf. HAVING), ORDER BY und LIMIT. Im Prinzip geht alles.

    1. Hallo, du kannst den link in der db speichern und über php abrufen und das bild ausgeben:

      <?php
      $verbindung = mysql_connect("dein_host","_benutzername","-passwort")or die ("Konnte keine Verbindung zum Datenbankserver herstellen");

      mysql_select_db("Datenbank_name")or die ("Konnte Datenbank nicht erreichen");

      $was= 'SELECT * FROM \_Tabellenname WHERE NAme der Variable in der Tabelle = 'Wert der VAriable'';

      $res = mysql_query($was);
           while ($dsatz = mysql_fetch_assoc($res)){

      echo '<table border ="0">';
        echo '<tr>';
        echo '<td><img name="" src="'.$dsatz["name der variable  die Ausgegeben werden soll"].'" width="200" height="200" alt="" /&nbsp;</td>';
        echo '<td>&nbsp;</td>';
              echo '<td>'.$dsatz["Variable 2 in Tabelle"].",<br>" . $dsatz["bez"].",<br>".$dsatz["Variable 3 in Tabelle"]."Euro<br>Lieferzeit:".$dsatz["lz"]."<br></td>";
           echo '</tr>';
        }
      ?>

      Mit: if (isset $_POST["variable in Tabelle"]){
      Anweisungen}

      kannst du testen ob die Variable vorhanden ist, als Anweisung kannst du dann alle Variablen ausgeben...

      hoffe ich konnte helfen...

  2. Moin!

    Ich möchte das aktuelle Bild aus der DB holen, gleichzeitig aber das Bild zuvor und das Bild danach auch noch kennen (als Preview).

    Damit eine Datenbank (die standardmäßig unsortiert ist - auch bei aufeinanderfolgenden Abfragen muß die Reihenfolge nicht dieselbe bleiben) überhaupt sowas wie "den nächsten" und "den vorigen" Datensatz kennt, mußt du eine Sortierung definieren.

    Gibt es einen Möglichkeit die "benachbarten" Datensätze gleich mit anzufragen. Ich denke da an eine Art LIMIT -1,1. Geht sowas überhaupt?

    Es ist ja kein riesiger Aufwand, eine Blättern-Funktion zu bauen, die jeweils drei Datensätze abfragt und nur den mittleren in aller Ausführlichkeit darstellt, Nummer 1 und 3 hingegen nur previewmäßig verkürzt. Die Sondersituation am Datenrand (erster Datensatz, letzter Datensatz) müßte natürlich noch zufriedenstellend gelöst werden durch Sonderbehandlung.

    - Sven Rautenberg

    --
    "Love your nation - respect the others."
  3. Hi!

    Ich möchte das aktuelle Bild aus der DB holen

    Meinst du wirklich "das Bild aus der DB"?
    Vielleicht war das einfach nur eine etwas unglückliche Formulierung, aber wenn du wirklich Bilder in der Datenbank abgelegt hast (und nicht nur einen Verweis auf die Grafik), dann schau dir mal diesen Artikel hier an:
    Ist es sinnvoll, Bilder in einer Datenbank abzulegen?
    (aus der FAQ der Newsgroups de.comp.lang.php.*)

    Gibt es einen Möglichkeit die "benachbarten" Datensätze gleich mit anzufragen.

    Ich weiß nicht, wie deine Datenbank aufgebaut ist.
    Wenn du dort ein Feld "ID" (INT PRIMARY KEY auto_increment) hast, dann hast du deine Bilder ja sozusagen durchnummeriert in deiner Tabelle.
    Dann ist es kein Problem, das vorherige und das nochfolgende Bild aus der DB zu holen.
    Sobald dann jedoch Bilder aus der DB entfernt werden, treten Lücken in deiner Nummerierung auf, welche zu berücksichtigen wären.

    Eventuell wäre eine "Blätterfunktion" für dein Vorhaben geeignet?
    Schau dir doch einmal so etwas an:
    Tutorial: Blätterfunktion mit PHP & mySQL
    Ist das vielleicht etwas, das für dich in Frage kommt?

    Schöner Gruß,
    rob