Access-Abfrage komplett in Array schreiben

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

  • mrhappiness
    antwortet
    so wie du das willst, geht das nicht

    isses so schlimm, wenn du $array[0] bis $array[4711] hast?

    bei ner tabelle musst du ja auch sagen,, welche zeile du haben willst...


    eventuell kannst du das ja so machen (was willst du eigentlich machen? )
    PHP-Code:
    foreach ($array as $zeile)
      
    print_r($zeile); 

    Einen Kommentar schreiben:


  • sixt173
    antwortet
    PHP-Code:
    $array = array()
    while(
    $row=odbc_fetch_row($res))

         
    $array[]=$row;

         
    print_r(array_values($array)); 
    liefert folgende Ausgabe:

    Array ( [0] => Array ( ) )


    PHP-Code:
    $array = array();

         while (
    odbc_fetch_row($res$j))
         {
           for (
    $i 1$i <= odbc_num_fields($res); $i++)
           {
             
    $field_name odbc_field_name($res$i);
             
    $ar[$field_name] = odbc_result($res$field_name);
             
    //echo $ar[$field_name] .":&nbsp;&nbsp;&nbsp;";
           
    }
           
    $array[] = $ar;
           
    $j++;
         }
     
    print_r(array_values($array)); 
    Liefert:
    Array ( [0] => Array ( [Prod_ID] => 1 [Name] => MDA II [Typ] => Hardware ) [1] => Array ( [Prod_ID] => 2 [Name] => Panasonic [Typ] => Hardware ) [2] => Array ( [Prod_ID] => 3 [Name] => TabletPC [Typ] => Hardware ) )


    Hier habe ich
    array[0] = Array(von Produkt1)
    array[1] = Array(von Produkt2) usw.


    Ich möchte aber:
    $array( [Prod_ID] => 1 [Name] => MDA II [Typ] => Hardware )
    $array( [Prod_ID] => 2 [Name] => Panasonic [Typ] => Hardware )

    also nicht Array in Array, sondern so, dass ich es einfach wie eine Tabelle ansprechen kann. Geht das?
    Warum funktioniert odbc_fetch_row nicht?

    Einen Kommentar schreiben:


  • sixt173
    antwortet
    PHP-Code:
    $array = array()
    while(
    $row=odbc_fetch_row($res))

         
    $array[]=$row;

         
    print_r(array_values($array)); 
    liefert folgende Ausgabe:

    Array ( [0] => Array ( ) )


    PHP-Code:
    $array = array();

         while (
    odbc_fetch_row($res$j))
         {
           for (
    $i 1$i <= odbc_num_fields($res); $i++)
           {
             
    $field_name odbc_field_name($res$i);
             
    $ar[$field_name] = odbc_result($res$field_name);
             
    //echo $ar[$field_name] .":&nbsp;&nbsp;&nbsp;";
           
    }
           
    $array[] = $ar;
           
    $j++;
         }
     
    print_r(array_values($array)); 
    Liefert:
    Array ( [0] => Array ( [Prod_ID] => 1 [Name] => MDA II [Typ] => Hardware ) [1] => Array ( [Prod_ID] => 2 [Name] => Panasonic [Typ] => Hardware ) [2] => Array ( [Prod_ID] => 3 [Name] => TabletPC [Typ] => Hardware ) )


    Hier habe ich
    array[0] = Array(von Produkt1)
    array[1] = Array(von Produkt2) usw.


    Ich möchte aber:
    $array( [Prod_ID] => 1 [Name] => MDA II [Typ] => Hardware )
    $array( [Prod_ID] => 2 [Name] => Panasonic [Typ] => Hardware )

    also nicht Array in Array, sondern so, dass ich es einfach wie eine Tabelle ansprechen kann. Geht das?

    Einen Kommentar schreiben:


  • mrhappiness
    antwortet
    PHP-Code:
    $array=array();
    while(
    $row=odbc_fetch_row($res))
      
    $array[]=$row

    Einen Kommentar schreiben:


  • sixt173
    antwortet
    Hab jetzt folgendes gemacht, ich hoffe Du meintest es auch so.
    Aber leider hab ich in dem Array immer nur die letzte Datenzeile.
    Die for-Schleife kann ich mir glaube nich sparen. Habs zumindest nicht hinbekommen.
    Andere Vorschläge??

    PHP-Code:
    $j=1;
     
    $array[] = array(); 
    while (
    odbc_fetch_row($res$j))
         {
           for (
    $i 1$i <= odbc_num_fields($res); $i++)
           {
             
    $field_name odbc_field_name($res$i);
             
    $ar[$field_name] = odbc_result($res$field_name);
             
    //echo $ar[$field_name] .":&nbsp;&nbsp;&nbsp;";
           
    }
           
    $array[] = $ar;
           
    $j++;
         } 

    Einen Kommentar schreiben:


  • MelloPie
    antwortet
    btw sollte $ar = odbc_fetch_row($res) auch gehen dann kannste Dir Deine For schleife sparen

    Einen Kommentar schreiben:


  • MelloPie
    antwortet
    statt
    return $ar;
    $array[] = $ar;
    nach der while haste dann in $array alles was Du brauchst
    $array for der Schleife initialisieren...

    Einen Kommentar schreiben:


  • sixt173
    hat ein Thema erstellt Access-Abfrage komplett in Array schreiben.

    Access-Abfrage komplett in Array schreiben

    Hallo,

    ich möchte mit odbc eine Access Datenbank auslesen. Dabei möchte ich ein Array haben, welches mir das Resultat der SQL-Abfrage speichert.
    Auslesen mache ich wie folgt:

    PHP-Code:
     j=1
     
    while (odbc_fetch_row($res$j))
         {
           for (
    $i 1$i <= odbc_num_fields($res); $i++)
           {
             
    $field_name odbc_field_name($res$i);
             
    $ar[$field_name] = odbc_result($res$field_name);
           }
           
    $j++;
           return 
    $ar;
         } 
    Mit diesem Code bekomme ich zwar ein schönes Array (genau, wie es sein soll), allerdings nur eine Datenzeile je Durchlauf.
    Im jeden neuen Durchlauf wird das $ar wieder überschrieben.
    Nun will ich aber alles in einem Array haben. Versucht habe ich schon mit array_merge() und vielen anderen Funktionen.
    Wie bekomme ich es am Besten hin (bin PHP-Neuling)???
Lädt...
X