[PHP] Problem mit Array und MySQL

Dieses Thema im Forum "Webentwicklung" wurde erstellt von proHacker, 25. Juni 2008 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 25. Juni 2008
    Problem mit Array und MySQL

    Hallo,
    habe ein Problem bzw. fällt mir für mein Problem spontan keine nLösung ein.
    Villeicht wisst Ihr ja wie ich folgendes lösen kann:

    In Einer MySQL Tabelle sind folgende Einträge
    Code:
    ID | SPALTE1| SPALTE2
    nun sollen diese Werte ausgelesen werden das sie wie folgt im array landen

    Code:
    $var= array(
    'SPALTE1' => 'SPALTE2',
    'SPALTE1' => 'SPALTE2',
    'SPALTE1' => 'SPALTE2',
    'SPALTE1' => 'SPALTE2',
    'SPALTE1' => 'SPALTE2'
    );
    ich bin am verzweifeln die Werte in dieser Form in das array zu bekommen..... es sind in etwa 1000 Zeilen die so in das array geladen werden sollen.

    Please help
     
  2. 25. Juni 2008
    AW: Problem mit Array und MySQL

    Einen direkten Befehl gibts dafür nicht, aber versuch doch mal sowas wie:

    Code:
    $arr = array();
    while($row = mysql_fetch_array()) {
     $arr[] = array( $row[2] => $row[3]);
    }
    
    Ist allerdings ungetestet. Vom Ansatz her stimmts, nur bei der Umsetzung bin ich mir nicht sicher.
     
  3. 25. Juni 2008
    AW: Problem mit Array und MySQL

    PHP:
    $data  = array();

    while (
    $buff  mysql_fetch_assoc ( $result ))
    {
        
    $data [ 'spalte1' ] =  $buff [ 'spalte1' ];
    }
    Kanns grade net testen, sollte aber gehen^^


    Du hast das Result in der Klammer nach mysql_fetch_array vergessen. Außerdem will er im Array die Spaltennamen als Indizes, mysql_fetch_array gibt die Daten aber mit numerischen Indizes aus, wenn ich mich recht entsinne
     
  4. 25. Juni 2008
    AW: Problem mit Array und MySQL

    Code:
    
    $data = array();
    
    while ($buff = mysql_fetch_assoc($result))
    {
     $data['spalte1'] = $buff['spalte1'];
    } 
    
    
    konnte es leider auch noch nich testen aber du greifst nur auf SPALTE1 zu ich brauche aber die Werte aus SPALTE1 und SPALTE2 und das in der Form wie oben genannt also
    Code:
    'SPALTE1' => 'SPALTE2',
    das ich letztlich
    Code:
    $var= array(
    'SPALTE1' => 'SPALTE2',
    'SPALTE1' => 'SPALTE2',
    'SPALTE1' => 'SPALTE2',
    'SPALTE1' => 'SPALTE2',
    'SPALTE1' => 'SPALTE2'
    );
    
    oder mal mit beispielwerten
    
    
    $var= array(
    'A' => 'L',
    'S' => 'Y',
    'G' => 'C',
    'Z' => 'P',
    'W' => 'M'
    );
    
    
    erhalte was ich dann weiterverarbeiten will


    oder mache ich nen denkfehler??


     
  5. 26. Juni 2008
    AW: Problem mit Array und MySQL

    PHP:
    <? php
    $arr 
    = array();  // array "leer"
    $sql  "SELECT spalte1,spalte2 FROM tabelle" // deine anweisung
    $query  myslq_query ( $sql );  // query senden
    while( $row  mysql_fetch_array ( $query ))  // schleife
    {
     
    $arr  = array( $row [ 'spalte1' ] =>  $row [ 'spalte2' ]);
    }
    // dein array $arr
    ?>
    ich verstehe zwar nicht wofür es genau sein sollte, aber probier es mal aus.
     
  6. 26. Juni 2008
    AW: Problem mit Array und MySQL

    Dein Ansatz ist genau der richtige nur gibt mir $arr zum schluss nur den letzten wert aus aber wenn ich print_r() in der while mitlaufen lasse rattert er schonmal alle zeilen durch. jetzt gibt es nurnoch 2 probleme,

    1. alle werte müssen in $arr rein nicht nur der letzte
    2. das komma... nach jeder zeilen soll ein komma stehen außer nach der letzten
     
  7. 26. Juni 2008
    AW: Problem mit Array und MySQL

    dann nimm das von gibbon wobei du das 2. "spalte1" mit "spalte2" ersetzt, also:
    PHP:
    $data  = array();

    while (
    $buff  mysql_fetch_assoc ( $result ))
    {
        
    $data [ $buff [ 'spalte1' ]] =  $buff [ 'spalte2' ];
    }
    klar, dass das von funland nicht klappt: bei jedem durchlauf der schleife erzeugt er ein neues array
     
  8. 26. Juni 2008
    AW: Problem mit Array und MySQL

    funktioniert soweit nun nurnoch ein problem, der wert von spalte 1 und 2 soll jeweils zwischen '' stehen und die zeile soll mit einem komma aufhören also

    derzeit sieht es so aus:

    [SPALTE1] => SPALTE2

    und so soll es aussehen

    'SPALTE1' => 'SPALTE2',
     
  9. 26. Juni 2008
    AW: Problem mit Array und MySQL

    Eigentlich war das richtig, aber um an das Array anzuhängen musst du an $arr[] statt $arr zuweisen, also:

    PHP:
    <? php
    $arr 
    = array();  // array "leer"
    $sql  "SELECT spalte1,spalte2 FROM tabelle" // deine anweisung
    $query  myslq_query ( $sql );  // query senden
    while( $row  mysql_fetch_array ( $query ))  // schleife
    {
    $arr [] = array( $row [ 'spalte1' ] =>  $row [ 'spalte2' ]);
    }
    // dein array $arr
    ?> 
    Was dann wieder meinem ersten entspricht, nur halt mit SQL-Anfrage schon drin ;-)
     
  10. 26. Juni 2008
    AW: Problem mit Array und MySQL



    die ausgabe erfolgt so:

    [0] => Array ( [SPALTE1] => SPALTE2 )
    [1] => Array ( [SPALTE1] => SPALTE2 )
    [2] => Array ( [SPALTE1] => SPALTE2 )

    da war die andere Lösung
    [SPALTE1] => SPALTE2

    schon etwas näher dran

    nur das endergebniss

    'SPALTE1' => 'SPALTE2',

    ist leider immer noch nicht erreicht

     
  11. 26. Juni 2008
    AW: Problem mit Array und MySQL

    Dann schreib halt die Ausgabe auch selbst:

    PHP:
    $data  = array();

    while (
    $buff  mysql_fetch_assoc ( $result )) {
        
    $data [ $buff [ 'spalte1' ]] =  $buff [ 'spalte2' ];


    foreach(
    $data  as  $key , $value ) {
        echo 
    "'" $key "' => '" $value "',<br />" ;
    }
     
  12. 26. Juni 2008
    AW: Problem mit Array und MySQL

    da sacheint was mit dem foreach nicht zu stimmen
    Parse error: syntax error, unexpected ',', expecting ')'
     
  13. 26. Juni 2008
    AW: Problem mit Array und MySQL

    so langsam weiß ich net mehr was du willst...

    willst du das spalte1 => spalte2 nun als string?! dann hast du oben aber einigen leute falsche vorgaben gemacht...

    das ist richtig
     
  14. 26. Juni 2008
    AW: Problem mit Array und MySQL

    klappt soweit alles nur noch eine kleinigkeit...
    das foreach erzeugt mir nun das richtige nur soll das in das array rein und nicht ausgegeben werden,

    die einfache ausgabe in dem Format war nicht das problem, ich will das ganze nun so wie es aussieht in dem array haben

    $var= array(
    'SPALTE1' => 'SPALTE2',
    'SPALTE1' => 'SPALTE2',
    );


    zurzeit gibt er mir aber den text nur richtig aus im array selber steht hingegen

    var = array(
    [SPALTE1] => SPALTE2
    [SPALTE1] => SPALTE2
    );

    genau das ist ja mein problem
     
  15. 26. Juni 2008
    AW: Problem mit Array und MySQL

    ohje... dir is klar das print_r diese [] für den index verwendet? also diese [] sind in echt garnet da.

    bitte einmal die grundlagen lernen, closed.
     
  16. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.