array zerelegen und einträge einzeln speichern ?

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

  • array zerelegen und einträge einzeln speichern ?

    Hallo hab ein kleines Problem,

    ich möchte ein Array zerlegen und die einzelnen Teile in ein eine Datenbank speichen

    hier mein ansatz weiß aber nicht weiter :


    PHP-Code:

    // Auslesen und überprüfen ob schonvorhanden 
    $sqlbefehl "select * from stichworte where woerter='$stichworte'";  
    $ergebnis  mysql_query($sqlbefehl$serverid);

    // Wenn kein gleiches gefunden wird dann eintragen ...
    if (mysql_num_rows($ergebnis) == 0) { 


    $zerleg explode(" ",$stichworte);
    $anzahlcount($zerleg);    

    for (
    $i=0$i<=$anzahl$i++){


    }


    $sqlbefehl  =  "Insert Into stichworte
                     (woerter)
                     Values('
    $zerleg')";
          if (!
    $ergebnis  mysql_query($sqlbefehl$serverid))
          echo 
    mysql_error($serverid);

    }
    /////////////////////////////////////// 

    gruss sascha
    Zuletzt geändert von Kleinschmidt; 23.01.2004, 09:04.
    Konservative sind sehr für den Fortschritt sofern der auf der Stelle tritt. ( Norman Mailer )

  • #2
    wink mit zaunpfahl
    PHP-Code:
    for ($i=0$i<=$anzahl$i++){

    $values .= ", '".$zerleg[$i]."'";


    h.a.n.d.
    Schmalle

    http://impressed.by
    http://blog.schmalenberger.it



    Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
    ... nur ohne :-)

    Kommentar


    • #3
      hmm versteh nich was da damit machst ?


      wenn ich das ausprobier kommt bei mir ein sql fehler ?

      PHP-Code:

      $zerleg 
      explode(" ",$stichworte);
      $anzahlcount($zerleg);    

      for (
      $i=0$i<=$anzahl$i++){

      $values .= ", '".$zerleg[$i]."'";

      $sqlbefehl  =  "Insert Into stichworte
                       (woerter)
                       Values('
      $values')";
            if (!
      $ergebnis  mysql_query($sqlbefehl$serverid))
            echo 
      mysql_error($serverid);



      gruss sascha
      Konservative sind sehr für den Fortschritt sofern der auf der Stelle tritt. ( Norman Mailer )

      Kommentar


      • #4
        das war ja auch nur ein anreiz. du beginnst jetzt mit einem komma. das geht natürlich nicht
        h.a.n.d.
        Schmalle

        http://impressed.by
        http://blog.schmalenberger.it



        Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
        ... nur ohne :-)

        Kommentar


        • #5
          hmm,

          PHP-Code:
          for ($i=0$i<=$anzahl$i++){

          $values .= " '".$zerleg[$i]."',";

          $sqlbefehl  =  "Insert Into stichworte
                           (woerter)
                           Values(
          $values)";
                if (!
          $ergebnis  mysql_query($sqlbefehl$serverid))
                echo 
          mysql_error($serverid);


          so geht es leider auch nicht...
          Konservative sind sehr für den Fortschritt sofern der auf der Stelle tritt. ( Norman Mailer )

          Kommentar


          • #6
            gib mal $sqlbefehl per echo aus ... dann solltest du sehen, was da falsch läuft.
            Kissolino.com

            Kommentar


            • #7
              PHP-Code:
              for ($i=0$i<=$anzahl$i++)
              {
                 
              $sqlbefehl  =  "Insert Into stichworte (woerter) Values ('".$zerleg[$i]."')";
                 
              mysql_query($sqlbefehl$serverid)) or die(mysql_error());

              Was passiert dann?
              it's not a bug,
              it's a feature!

              Kommentar


              • #8
                Column count doesn't match value count at row 1Column count doesn't match value count at row 1Column count doesn't match value count at row 1Column count doesn't match value count at row 1Insert Into stichworte (woerter) Values()
                Konservative sind sehr für den Fortschritt sofern der auf der Stelle tritt. ( Norman Mailer )

                Kommentar


                • #9
                  Dann nehm mal das INTO raus.
                  it's not a bug,
                  it's a feature!

                  Kommentar


                  • #10
                    also beim letzten

                    PHP-Code:


                    for ($i=0$i<=$anzahl$i++)
                    {
                       
                    $sqlbefehl  =  "Insert Into stichworte (woerter) Values ('".$zerleg[$i]."')";
                       
                    mysql_query($sqlbefehl$serverid)) or die(mysql_error());

                    kam diese Meldung:

                    Insert Into stichworte (woerter) Values ('')
                    Konservative sind sehr für den Fortschritt sofern der auf der Stelle tritt. ( Norman Mailer )

                    Kommentar


                    • #11
                      also hab jetzt das letzte nochmal probiert es geht es wird alles in der db gespeichert nun hab ich noch folgendes problem das irgenwo noch ein leeres feld eingefügt wird also in die db wird immer eine Zeile leer mit eingefügt und mein anderes problem ist, wie überprüf ich jetzt vorher was schonmal in der db ist und was nicht also wenn schonmal ein wort vorhanden soll es das nicht nochmal eintragen nur die die noch nit drin sind vorher hab ich das ja so gemacht..:

                      PHP-Code:


                      // Auslesen und überprüfen ob schonvorhanden 
                      $sqlbefehl "select * from stichworte where woerter='$stichworte'";  
                      $ergebnis  mysql_query($sqlbefehl$serverid);

                      // Wenn kein gleiches gefunden wird dann eintragen ...
                      if (mysql_num_rows($ergebnis) == 0) { 


                      $zerleg explode(" ",$stichworte);
                      $anzahlcount($zerleg);    

                      for (
                      $i=0$i<=$anzahl$i++){

                      $sqlbefehl  =  "Insert stichworte (woerter) Values ('".$zerleg[$i]."')";

                            if (!
                      $ergebnis  mysql_query($sqlbefehl$serverid))
                            echo 
                      mysql_error($serverid);

                      }

                      muss ich dann die Zerlegung vorher vornehmen ?
                      Konservative sind sehr für den Fortschritt sofern der auf der Stelle tritt. ( Norman Mailer )

                      Kommentar


                      • #12
                        keiner weiter eine Idee ?


                        hab mir überlegt ob es sinn macht

                        die daten aus der db zu lesen und mit merge_array die beiden arrays zu verknüpfen und danach mit array_unique wieder zu cleanen aber ich denk da muss es doch eine elegantere lösung geben ????


                        gruss sascha
                        Konservative sind sehr für den Fortschritt sofern der auf der Stelle tritt. ( Norman Mailer )

                        Kommentar


                        • #13
                          warum setzt du nicht die spalte auf UNIQUE
                          Kissolino.com

                          Kommentar


                          • #14
                            hmmm , gibt es da keine Fehlermeldung ?

                            werd es mal probieren..


                            danke


                            gruss sascha
                            Konservative sind sehr für den Fortschritt sofern der auf der Stelle tritt. ( Norman Mailer )

                            Kommentar


                            • #15
                              hmm geht irgendwie nicht bringt mir immer diese meldung:

                              PHP-Code:

                              CREATE TABLE 
                              `stichworte_` (

                              `
                              idTINYINT14 NOT NULL AUTO_INCREMENT ,
                              `
                              woerterTEXT,
                              PRIMARY KEY ( `id` ) ,
                              UNIQUE (
                              `
                              woerter
                              )


                              MySQL meldet


                              #1170 - BLOB column 'woerter' used in key specification without a key length 
                              Konservative sind sehr für den Fortschritt sofern der auf der Stelle tritt. ( Norman Mailer )

                              Kommentar

                              Lädt...
                              X