Array in Datenbank

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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 ?
    Last edited by niroxx; 12-10-2006, 18:42.

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

    Comment


    • #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";}

      Comment


      • #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)

        Comment


        • #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 ?

          Comment


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

            Comment


            • #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"
              Last edited by niroxx; 12-10-2006, 19:30.

              Comment


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

                Comment


                • #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

                  Comment


                  • #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ß.

                    Comment


                    • #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 !

                      Comment


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

                        Comment

                        Working...
                        X