tabellen ausfüllen anhand von dateien

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

  • tabellen ausfüllen anhand von dateien

    hallo gemeinschaft



    ich habe bilder dieser dateibezeichnung

    1345_1.jpg
    1345_2.jpg
    1345_3.jpg
    1345_4.jpg
    1345_5.jpg
    333_1.jpg
    333_2.jpg
    333_3.jpg

    usw

    jetzt ist es bei mir so, dass ich immer das erste bild mit _1 in eine
    tabelle 1 rein soll und alle weiteren bilder mit _2 _3 _4 usw. in eine
    tabelle 2

    struktur tabelle 1
    id__bild

    struktur tabelle 2
    bid__bildid___bild

    bei tabelle 2 ist bildid der verweis zu tabelle 1

    jetzt müssten die tabellen also wie folgt gefüllt werden

    tabelle1
    id______bild
    1______1345_1.jpg
    2______333.jpg

    tabelle2
    bid___bildid____bild
    1____1_______1345_1.jpg
    2____1_______1345_2.jpg
    3____1_______1345_3.jpg
    4____1_______1345_4.jpg
    5____1_______1345_5.jpg
    6____2_______333_1.jpg
    7____2_______333_2.jpg
    8____2_______333_3.jpg

    usw.

    diese beiden tabellen müssen so gefüllt werden und dass nur aus einem
    ordner, indem nur diese bilder liegen -


    hatte diese frage schonmal in einem anderen forum gestellt - kam dort aber nicht weiter

  • #2
    Ist IMHO eigentlich kein MySql-Problem sondern eher PHP. Überhaupt kann ich noch gar kein Problem erkennen, weil du keinen Ansatz lieferst. Erwartest du ein fertiges Script? Dann weißt ja schon was du für Antworten zu erwarten hast.

    Den Denkansatz hast ja irgendwie schon selber gepostet.

    Gruss
    Quetschi
    Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
    Schön - etwas Geschichte kann ja nicht schaden.
    Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

    Kommentar


    • #3
      mein problem ist eigentlich folgendes

      den ordner mit den bildern kann ich auslesen - was ich nun nicht hinbekomme ist die bildid in tabelle 2 - ich weiss da überhaupt nicht, wie ich dort den bezug hinbekommen soll

      Kommentar


      • #4
        Indem du mit explode(); den Bildnamen anhand von '_' aufteilst und mit dem ersten Element des Arrays dass du darauf bekommst abgleichst und die ID aus tab1 ermittelst. So solltest du einen Bezug herstellen können.
        Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
        Schön - etwas Geschichte kann ja nicht schaden.
        Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

        Kommentar


        • #5
          meinst du das so:
          ich hole mir das erste bild - trage es in die tabelle 1 ein - hole mir dann die id und such dann solange in dem array der bilder nach bildern, die gleichlautend bis zum _ sind. nehme die id und trage sie in tabelle 2 fortlaufend ein

          Kommentar


          • #6
            So könntest du es machen, man könnte es von verschiedenen Richtungen aus angehen, evtl. muss hier noch ein wenig auf die Effizienz der verschiedenen Möglichkeiten geachtet werden.
            Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
            Schön - etwas Geschichte kann ja nicht schaden.
            Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

            Kommentar


            • #7
              wie würdest du es denn machen?

              Kommentar


              • #8
                Verzeichnis auslesen und daraus ein Array erstellen, damit das Dateisystem für diese Arbeit nur einmal beansprucht werden muss. Beim erstellen des Arrays solltest du bereits mit explode arbeiten und das Array so zusammenbauen das es ungefähr so aussieht:

                $bilder[1345][0] = "_1.jpg";
                $bilder[1345][1] = "_2.jpg";
                $bilder[1345[2] = "_3.jpg";
                $bilder[333][0] = "_1.jpg";
                $bilder[333][1] = "_2.jpg";

                In 2 verschachtelten foreach()-Schleifen dass Array durchlaufen, dass jeweils erste Element einer Bildnr in deine Tab1 eintragen, die ID daraus ermitteln und mit dieser ID die weiteren Elemente in deine Tab2 eintragen.

                Soweit ich es jetzt durchblicke ist das der 'geradeste' Weg den man da gehen kann, wobei ich nicht den Anspruch erhebe, dass diese Lösung der absolute Königsweg ist.

                Wer ne bessere Idee hat, bitte gerne posten, würd mich spasseshalber selber interessieren.
                Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                Schön - etwas Geschichte kann ja nicht schaden.
                Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                Kommentar


                • #9
                  verstehe bloss nicht, wie du das erste array erstellst

                  Kommentar


                  • #10
                    Welches erste Array? Du liest dein Verzeichnis aus und bekommst dadurch deine Dateinamen, damit baust das Array auf:

                    PHP-Code:
                    $ar_datei explode("_",$dateiname);

                    $bilder[$ar_datei[0]] = $ar_datei[1]; 
                    mach das einfach mal und sieh dir dann mit

                    var_dump($bilder);

                    die Struktur dieses Arrays an.
                    Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                    Schön - etwas Geschichte kann ja nicht schaden.
                    Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                    Kommentar

                    Lädt...
                    X