Bilder aus einem Ordner einer SQL ID zuordnen.

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

  • Bilder aus einem Ordner einer SQL ID zuordnen.

    Hallo,
    sorry das ich Fragen muss, mir läuft etwas die Zeit davon um stundenlang zu suchen.

    Ich habe News Beiträge die mit mehreren Bildern versehen werden.

    - Datei Upload in einen Ordner ( images/news ) funktioniert.
    - News anlegen funktioniert.
    Jetzt muss ich noch eine Seite haben wo ich verschiedene Bilder aus dem Ordner auswählen kann und die dann der News zugeordnet werden.

    Die Zuordnungstabelle habe ich von Hand mit Daten gefüttert und das Funktioniert auch schon.

    Tabellen:
    PHP-Code:
    CREATE TABLE 
    `news` (   
    `
    IDint(11NOT NULL auto_increment,
    `
    news_delongtext,    
    `
    head_devarchar(70) default NULL,    
    `
    news_enlongtext,    
    `
    news_itlongtext,   
    `
    head_envarchar(100) default NULL,    
    `
    head_itvarchar(100) default NULL,   
    `
    onlinetinyint(4NOT NULL default '0',    
    `
    datumdate default NULL COMMENT 'Datum',  
    PRIMARY KEY  (`ID`),    KEY `PRIMARY_KEY` (`ID`)  

    ENGINE=MyISAM  DEFAULT CHARSET=latin1 
    AUTO_INCREMENT
    =11 
    PHP-Code:
    CREATE TABLE 
    `news_images` (    
    `
    IDint(11NOT NULL auto_increment COMMENT 'ID',    
    `
    news_idvarchar(25NOT NULL COMMENT 'NewsID',    
    `
    imagevarchar(100NOT NULL COMMENT 'Bild',    
    PRIMARY KEY  (`ID`)  ) ENGINE=InnoDB DEFAULT 
    CHARSET=latin1 COMMENT='News Bilder' 
    AUTO_INCREMENT=

    Ich habe in "image" nur den Dateinamen gespeichert, da alle Bilder im selben Ordner liegen.
    Prüfung ob Bild gültig erfolgt in der Upload Datei.

    Jetzt muss ich quase eine News auswählen z.B. news.ID 1
    dann eine Liste mit den Bildern und einem Häckchen

    Dann für SQL ein INSERT wo die news.ID 1 mit den Dateinamen gefüllt wird.

    Hoffe habs verständlich ausgedrückt.

    Wäre für ein Scribt echt sehr DANKBAR, da wie gesagt ich nur noch 2 Tage Zeit habe.

    VIELEN VIELEN DANK
    MfG

    Urknall

  • #2
    Wäre für ein Scribt echt sehr DANKBAR
    also fertigen code bekommst du nur bei den jobangeboten oder (unwahrscheinlich) bei der projekthilfe.
    da wie gesagt ich nur noch 2 Tage Zeit habe
    hausaufgaben nicht gemacht?

    btw: schon eigene ansätze?

    gruß
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Dann bitte auch hier nach Projekthilfe verschieben...

      Mit ein bisschen Abstraktionsvermögen kommt das hier deinem Vorhaben schon sehr nahe.

      http://php-resource.de/forum/showthr...threadid=89450
      http://php-resource.de/forum/showthr...threadid=89410

      Die Torfnase hat mindestens zwei Threads zu dem Thema. Vielleicht hilft das erstmal weiter.

      PS: Abgabefristen sind erstmal dein Problem. Die interessieren in einem Forum niemanden. Das macht dich höchstens unbeliebt, weil du der Meinung bist, du wärst wichtiger als andere Threads...
      ICH BIN ICH!!!

      Kommentar


      • #4
        Zwei Tage sind doch noch sehr lange, für so ein kleines Problem. Aber schlauerweise würdest du die Bilder schon beim Upload den News zuordnen.
        Die Zuordnungstabelle habe ich von Hand mit Daten gefüttert und das Funktioniert auch schon.
        Dann würde ich meinen, dass das Problem ja auch gelöst ist
        Gruss
        H2O

        Kommentar


        • #5
          Nee nicht Hausaufgaben.
          Brauche auch nicht die ganze Seite, die Functionen hätten mir gereicht.

          Will mich auch nicht wichtig machen. Muss halt nur am Do. fertig sein. Und habe gerade erst mit PHP / SQL angefangen.

          Hatte schon genug Probleme mit dem Datum. Auslesen und in TT.MM.JJJJ ausgeben hab ich hinbekommen aber noch icht beim insert, was aber erst mal nicht so schlimm ist.

          Zurück zum Prob.

          Mir würde reichen wenn mir einer sagt wie ich die Bilder alle mit einer Checkbox auflisten kann die jeweils eine eigene ID hat.
          Hoffe das ich dann die INSERT anweisung hingefummelt bekomme, und wenn nicht kann ich ja noch mal fragen.
          MfG

          Urknall

          Kommentar


          • #6
            Zum thema bilder auslesen findest du ebenfalls diverse threads

            dazu ein echo "checkbox"; ist auch nicht schwer.

            der checkbox gibst du dann ein array als namen name="checked[]"

            und das wars eigentlich schon. sinniger weise nimmst du als id z.B. den Dateinamen.
            ICH BIN ICH!!!

            Kommentar


            • #7
              THX
              weiß immer nicht welche Suchbegriffe ich verwenden soll.
              Und lese mich dann blöd.

              Werd mal bisl was an code erstellen und dann mal sehen was passiert.

              Meld mich dann.
              MfG

              Urknall

              Kommentar


              • #8
                OffTopic:
                Ich glaube ich muss mir mal irgendwie Textbausteine vorbereiten, die ich in bestimmten Situationen posten kann, hier würde passen:

                Was auch immer der Grund ist, warum du dein Script bis zu einem bestimmten Zeitpunkt fertig bekommen musst, wenn du hier nach Hilfe suchst hast du die wie auch immer aussehende Belohnung nicht verdient!
                [FONT="Helvetica"]twitter.com/unset[/FONT]

                Shitstorm Podcast – Wöchentliches Auskotzen

                Kommentar


                • #9
                  Wenns ja ne belohnung geben würde

                  Lediglich für einen Freund. Und die haben am Do. ein Meeting wo die das gerne testen würden.

                  Über die Hintertür gehts ja wenn ich selbst in der Tabelle die news.ID und den Dateinamen eingebe.

                  Soll halt jetzt nur noch Online über eine Seite funktionieren. damit die eben nicht in die DB von Hand eingreifen müssen.

                  Alles andere hab ich ja geschaft, aber das mit den Files auslesen und alle Anzeigen bekomme ich irgendwie nicht hin.
                  MfG

                  Urknall

                  Kommentar


                  • #10
                    OffTopic:
                    Hatte schon genug Probleme mit dem Datum. Auslesen und in TT.MM.JJJJ ausgeben hab ich hinbekommen aber noch icht beim insert, was aber erst mal nicht so schlimm ist.
                    Versuch mal die DateTime-Klasse

                    Kommentar


                    • #11
                      Schön, Hinweise hast du nun genug. Wäre mal an der Zeit eigene Versuche und Ansätze zu liefern...
                      ICH BIN ICH!!!

                      Kommentar


                      • #12
                        OK habe eine Function gefunden die mir den Ordner ausliest und die Dateinamen speichert.
                        Wie muss ich jetzt die Schleife aufbauen um die Function immer nur einen Eintrag auszuwerten.
                        Im Moment macht er alle hintereinander.

                        Sry, das ich evtl. ne blöde Frage gestellt habe, aber habe gerade erst mit PHP angefangen.

                        PHP-Code:
                        <?php   
                         
                        function bilderlesen($dir
                        {      
                        $dir "../../images/news"
                        $handle=opendir($dir); // Ordner 'bilder' wird geöffnet
                        while ($file=readdir($handle))              
                           {             
                            if (
                        $file != "." && $file != "..")
                               {                         
                                
                        $bild[]=$file;
                                }             
                           }
                        $bild_summe=count($bild); // Anzahl der Bilder wird gezählt          
                        $bilder ='';

                        for (
                        $b=0$b $bild_summe$b++)              
                        {                
                          if (
                        $bild[$b] != '')                  
                            {
                              
                        $bilder.=$bild[$b] . '<br>'// Dateiname wird in $Bilder gespeichert                  
                             
                        }              
                           else                  
                             {
                               
                        $bilder.='';                 
                             }              
                        }            
                        closedir($handle);         
                        return 
                        $bilder;                
                        }       
                        // Bilder sind jetzt in Bilderlesen()

                        // Versuch Inhalt von Bilderlesen in Schleife auszugeben

                        $image bilderlesen();  
                        echo 
                        $image;    // Zum testen anzeigen lassen
                        $i 1;  // Muss noch in Anzahl der Werte in Bilderlesen geändert werden 
                        // $i 1-10 zum testen der Schleife verwendet
                        do 

                        ?>    
                        <img src="/<?php echo $image?>"/>    
                        <?php $i ++;     

                        while ( 
                        $i 10); 
                        ?>
                        Zuletzt geändert von urknall; 16.01.2008, 11:27.
                        MfG

                        Urknall

                        Kommentar


                        • #13
                          Was haste denn probiert???
                          ICH BIN ICH!!!

                          Kommentar


                          • #14
                            Die Dateinamen stehen jetzt in der Function.

                            jetzt wollte ich die ausgelesenen Dateinamen nacheinander als Image ausgeben lassen.

                            Da ich nicht wusste wie ich das mache damit die Schleife so oft durchläuft wie Dateinamen vorhanden sind.
                            Habe ich einfach mit $i das ganze 10 mal ablaufen lassen.
                            Allerdings kommt dabei jetzt folgendes raus:


                            Code:
                            http://localhost/123.gif%3Cbr%3E1234.gif
                            %3Cbr%3Ede_leistungen.jpg
                            %3Cbr%3EFirst.gif%3Cbr
                            %3Eindex_26.jpg%3Cbr
                            %3Eindex_261.jpg%3Cbr%3EKopie%20von%20index_26.jpg
                            %3Cbr%3EKopie%20von%20index_261.jpg
                            %3Cbr%3ELast.gif%3Cbr%3Elogo1.jpg
                            %3Cbr%3ENext.gif%3Cbr%3EPrevious.gif
                            %3Cbr%3Espacer.gif%3Cbr%3ESpryMenuBarDown.gif
                            %3Cbr%3ESpryMenuBarDownHover.gif
                            %3Cbr%3ESpryMenuBarRight.gif%
                            3Cbr%3ESpryMenuBarRightHover.gif
                            %3Cbr%3E_notes%3Cbr%3E
                            Natürlich ohne Zeilenumbruch.

                            Halt alles Hintereinander und nicht je durchlauf ein Wert.

                            --
                            Is für euch bestimmt Kinderkram, aber ich weiß echt nicht wie ich das machen soll.
                            Muss noch viel lernen.
                            MfG

                            Urknall

                            Kommentar


                            • #15
                              Bau deine bilderlesen-Funktion so um, dass ein Array und kein String erzeugt wird. Dabei musst du zum Beispiel folgende Codestellen ändern:
                              PHP-Code:
                              $bilder.=$bild[$b] . '<br>';
                              // wird zu:
                              $bilder[] = $bild[$b]; 

                              Kommentar

                              Lädt...
                              X