Dateien in einem Verzeichnis aufgrund des Namens einer Ausgabe zuordnen

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

  • Dateien in einem Verzeichnis aufgrund des Namens einer Ausgabe zuordnen

    Hallo Community,

    Ich stehe vor folgendem Problem.

    1) Es gibt eine Datenbank, wo jedem Zeileneintrag eine bestimmte ID zugeordnet ist.
    2) Es gibt ein Verzeichnis am Webserver, wo Bilddaten in folgendem Format gespeichert sind.

    1_1
    1_2
    2
    4_1
    5_1
    5_2
    6
    6_1
    6_2
    usw.

    Es ist nun so, dass der ID 5 in der Datenbank 2 Bilddaten zuzuordnen sind, nämlich 5_1 sowie 5_2
    Der ID 6 sind demnach 3 Bilder zuzuordnen (6, 6_1, 6_2)
    usw.

    Wie stelle ich das am Besten an?

    Ausgeben muss ich das Ganze ja auch noch.

    Folgendes habe ich bis jetzt gemacht..

    PHP-Code:
    <?php
    include("./include/bla.inc");
    $dbverbindung mysql_connect ($db_host$db_user$db_password)
             or die(
    "Keine Verbindung möglich: " mysql_error());
    mysql_select_db($db_name)
             or die(
    "Auswahl der Datenbank fehlgeschlagen");

       
    $sqlabfrage "SELECT id, name4, desc1 FROM fish_db";
       
    $sqlabfrage .= " WHERE name4 LIKE '$anfrage%' OR desc1 LIKE '%$anfrage%'";

    $filename "/www/pfadzudendateien/images/$id";
    if (
    file_exists($filename)) {
    $exists 1;
    } else {
    $exists 0;
    }



       
    $res mysql_query($sqlabfrage) or die("Anfrage fehlgeschlagen: " mysql_error());;
       
    $num mysql_num_rows($res);
       echo 
    "<font color='red'><b>$num Datens&auml;tze</b> lt. Anfrage gefunden</font><hr noshade size='1'>";
       if (
    $num==0)
          echo 
    "keine passenden Datensätze gefunden";

       for (
    $i=0$i<$num$i++)
       {
          
    $id mysql_result($res$i"id");
          
    $name4 mysql_result($res$i"name4");
          
    $desc1 mysql_result($res$i"desc1");
          echo 
    "$name4<br>";  if ($exists == 1) {
                    echo
    "<img src=./pfad/images/$id>$desc1";
                      }
                      else {
                    echo
    "$desc1";
                    };
                    
       }

       
    mysql_close($dbverbindung);
    ?>
    Mein Script funktioniert leider nur, wenn die Daten ohne _1 oder _2 vorliegen.
    Also eine Datei mit dem simplen Namen 8 oder 123 wird dargestellt, alles andere NICHT.

    Wie kann ich das lösen?

    Herzlichen Dank für Eure Antworten.

    lg
    -baerndorfer

  • #2
    PHP-Code:
    $filename "/www/pfadzudendateien/images/$id"
    Wo kommt da $id her?

    Und, warum nummerierst du die Bilder nicht einfach mit auto_increment duch?
    Eine solche Namensvergabe ist unpraktisch
    Zuletzt geändert von combie; 02.06.2008, 18:09.
    Wir werden alle sterben

    Kommentar


    • #3
      Die Namensvergabe ist in der Vergangenheit leider schon so passiert.

      Na die $id soll halt der Name des Bildes sein..

      Kommentar


      • #4
        PHP-Code:
        $sqlabfrage " SELECT id, name4, desc1
                           FROM fish_db
                           WHERE name4  LIKE '
        $anfrage%' OR
                                 desc1  LIKE '%
        $anfrage%' ";
                           
        $res mysql_query($sqlabfrage)
                or die(
        "Anfrage fehlgeschlagen: " mysql_error());;

        while(
        $row mysql_fetch_assoc($res))
        {
          
        $id     $row['id'];
          
        $desc1  $row['desc1'];
          
        $name4  $row['name4'];
          
        $filename '/www/pfadzudendateien/images/'.$id;

          
        $dateien glob($filename.'_*');
          if(
        file_exists($filename))
              
        array_unshift($dateien,$filename);

          echo 
        $row['name4'].'<br>';
          foreach(
        $dateien as $datei)
              echo 
        '<img src="./pfad/images/'.basename($datei).'"><br>';
          echo 
        $row['desc1'].'<hr>';

        *ungetestet*
        Wir werden alle sterben

        Kommentar


        • #5
          Vielen herzlichen Dank,

          Das funktioniert bestens !!!!

          lg
          baerndorfer

          Kommentar

          Lädt...
          X