PHP/Access mehr Ergebnisse pro Anfrage

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

  • PHP/Access mehr Ergebnisse pro Anfrage

    Hallöchen!

    Ich habe derzeit einen Script von PHP vor mir, der es ermöglichen soll, auf eine Access DB zuzugreifen (ja ich weiss das ist nicht die beste DB, darum geht es hier jedoch auch gar nicht ).

    Der Zugriff und die Verbindung klappt einwandfrei, ich kann auch Anfragen verschicken, jedoch habe ich das Problem dass ich mittels odbc_fetch_row() immer nur eine Spalte als Ergebnis bekomme und 10-20 Spalten mittels Abfragen nacheinander zu realisieren finde ich ziemlich aufwändig.

    Gibt es Möglichkeiten hierbei evtl. alle Spalten die in der Anfrage angefrodert werden als Ergebnis zurückzubekommen und auszugeben?

    Oder einzelne Objekte mit deren Eigenschaften aus den angeforderten Tabellen die ich dann nacheinander bearbeiten und ausgeben kann ?
    D.h. bspw. ich habe eine Tabelle Person (mit den Spalten Ort, Plz) und eine Tabelle Name (mit den Spalten Vorname, Nachname).
    Ich möchte jetzt alle Personen finden die in einer Stadt mit der PLZ "99999" leben.
    Als Ergebnis möchte ich dann von diesen Personen sogesehen alle Attribute der genutzten Tabellen haben, d.h. hier im Bsp. Ort, Plz, Vorname, Nachname.

    Gibt es da Möglichekeiten soetwas zu realisieren oder kennt jemand Alternativen ?

    Danke euch für eure Hilfe!
    Liebe Grüße,
    SkiD.

  • #2
    Hallo Skid,

    postest du mal den SQL-Code und das Stückchen PHP-Code, mit dem du das Ergebnis holst. Der Fehler muss irgendwo dort liegen.

    Gruß,

    Anja
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Also derzeit mache ich das so:

      PHP-Code:
      //für alle Spalten die ich benötige
      $result    =    fetchDBRow($query10);
      for(
      $i 0$i sizeof($result); $i++)
        echo 
      "<tr><td>".$result[$i]."</td></tr>";

      function 
      fetchDBRow($query$rowNr)
      {
              
      $execResult    =    handleDBQuery($query);
              
      $result        =    array();

              if(
      $execResult != "")
              {
                  while(
      odbc_fetch_row($execResult))
                      
      $result[]    = odbc_result($execResult$rowNr);
              }

              return 
      $result;
      }

      function 
      handleDBQuery($query)
      {
              
      $connection CONNECTION_ODBC::getInstance();

              if(
      $connection->getConnection() != null)
                  return 
      odbc_exec($connection->getConnection(), $query);

      Das empfinde ich jedoch als etwas aufwändig, da ich ja nun ungefähr 10 Spalten habe mit denen ich arbeiten muss.

      Gibt es da Alternativen oder ist das schon die beste Möglichkeit ?

      Liebe Grüße,
      SkiD.

      Kommentar


      • #4
        [COLOR=#000000][COLOR=#0000bb]Kleines, einfaches Beispiel, um Access Tabellen auszulesen:

        [/COLOR][/COLOR]
        PHP-Code:
        $conn odbc_connect($db_name$username$password) or die(odbc_error_msg());  
        $sql "SELECT * FROM TABLE";  
        $result odbc_exec($conn$sql); 
        while (
        $rows odbc_fetch_object($result)) {  
           print 
        $rows->COLUMNNAME
           } 
        odbc_close($conn); 
        [COLOR=#000000][COLOR=#007700]

        Spaltennamen bekommst du über [/COLOR][/COLOR]PHP: mysql_num_fields - Manual

        Interessante Beispiele dazu findest du noch auf http://de.php.net/manual/de/function...tch-object.php (bißchen nach unten scrollen)

        mfg streuner
        Zuletzt geändert von streuner; 14.08.2009, 11:55.
        Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
        der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.

        "Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"

        Kommentar

        Lädt...
        X