Array in Datenbank

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

  • Array in Datenbank

    PHP-Code:
    $getFIELDS mysql_query('SELECT * FROM `'.$db_syn.'_'.$db_table[4].'`');
        if(
    defined("RUNNED")!=1) {
        
            
    $felder = array();
            
    //* Gibt die felder als array zurueck (id, name, gebiet, strasse)
            
    while($row mysqL_fetch_array($getFIELDS)){
                
    array_push($felder$row['name']);
                
    define("RUNNED""1");
            }
            
    $felder=implode(",",$felder); #Macht aus dem array ein string mit komma
            
    $testarray= array('1','uoliu''btg''wff5');
            
            
    //* Das Problem ist hier ausschließlich dass $testarray ....
            
    mysql_query("INSERT INTO te_test($felder)VALUES('".$testarray."')") or die(mysql_error());
        } 
    Frage: Wie bekomme ich das $testarray in die Datenbank ?
    Zuletzt geändert von niroxx; 12.10.2006, 19:42.

  • #2
    http://de2.php.net/serialize
    http://de2.php.net/unserialize
    mfg

    Kommentar


    • #3
      Dabei kommt aber nur quatsch raus :

      $testarray= array('1','uoliu', 'btg', 'wff5');
      $testarray= serialize($testarray);
      echo $testarray;

      Ergebnis:
      a:4i:0;s:1:"1";i:1;s:5:"uoliu";i:2;s:3:"btg";i:3;s:4:"wff5";}

      Kommentar


      • #4
        Original geschrieben von niroxx
        Dabei kommt aber nur quatsch raus :
        ...hast Du mal ausprobiert, was mit Deinem Quatsch passiert, wenn Du darauf unserialize anwendest? (wahrscheinlich nicht)

        Kommentar


        • #5
          Doch habe ich, hier nochmal extra der "Beweis"

          $test = array ('1', '2', '3');
          $ha = serialize($test); //* a:3i:0;s:1:"1";i:1;s:1:"2";i:2;s:1:"3";}
          $ha = unserialize($ha); //* Array ( [0] => 1 [1] => 2 [2] => 3 )

          Ich kann doch mit beidem nichts anfangen ...
          Vllt. stehe ich auch nur einfach auf dem Schlauch, kann mir jemand weiterhelfen ?

          Kommentar


          • #6
            dann hast du deine frage falsch gestellt. jedenfalls hab ich dich so verstanden, als wolltest du ein array in eine datenbank abbilden
            mfg

            Kommentar


            • #7
              Ich moechte in Feld1 In der Datenbank TEXT1 einspeichern, Feld2 soll TEXT2 enthalten:

              |----------------------------
              |Feld1 | Feld2
              |----------------------------
              | TEXT1 | Test2
              |
              .....

              mein code soll das gleiche machen wie :
              mysql_query('Insert INTO te_test (id, name, gebiet strasse)VALUES('1', 'mein name', 'mein gebiet', 'meine strasse')');

              das array $testarray soll "1 ... mein name ... mein gebiet" etc enthalten
              und $felder enthaelt "id,name,gebiet,strasse"
              Zuletzt geändert von niroxx; 12.10.2006, 20:30.

              Kommentar


              • #8
                Dann greif auf die einzelnen Elemente des Arrays zu und verteile sie in Deine Datenbank.

                Kommentar


                • #9
                  Ja, dann weiß ich jetzt dass ich die arrays also doch so z.B $testarray[0] eintragen muss, wollte nur alles auf einmal direkt eintragen

                  Kommentar


                  • #10
                    foreach

                    Obwohl man ja eigentlich keine Queries in Schleifen ausführen sollte. Das in einer Query zu realisieren ist nicht so einfach. Du könntest allerdings auch deine Query vorher bearbeiten, in etwa so:

                    PHP-Code:
                    $qry "INSERT INTO te_test ($felder) VALUES";
                    foreach (
                    $felder as $key=>$wert) {
                      
                    $qry .= "('" $wert "'),";
                    }

                    $qry substr($qry,0strlen($qry) - 2);

                    mysql_query($query); 
                    Geht in dieser Form aber nur mit einem Wert, was recht Sinnlos ist.
                    Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

                    Kommentar


                    • #11
                      Original geschrieben von ArSeN
                      foreach

                      Obwohl man ja eigentlich keine Queries in Schleifen ausführen sollte. Das in einer Query zu realisieren ist nicht so einfach. Du könntest allerdings auch deine Query vorher bearbeiten, in etwa so:

                      PHP-Code:
                      $qry "INSERT INTO te_test ($felder) VALUES";
                      foreach (
                      $felder as $key=>$wert) {
                        
                      $qry .= "('" $wert "'),";
                      }

                      $qry substr($qry,0strlen($qry) - 2);

                      mysql_query($query); 
                      Geht in dieser Form aber nur mit einem Wert, was recht Sinnlos ist.
                      Oh ja, man der Ansatz ist gut vielen Dank !

                      Kommentar


                      • #12
                        Bitte. *verlegen guck*
                        Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

                        Kommentar

                        Lädt...
                        X