Mailinglisten-Archive |
Hallo, > diese studien-liste der ora8-datenbank soll in das php3-array $studien > eingelesen werden: > > function array_studium() { > $con1 = OCILogon("user","passi","db_ora8"); > $sql = "select kennz, bezeichnung from studium"; > $stm = OCIParse($con1, $sql); > OCIExecute($stm); > while(OCIFetchInto($stm, &$result)) { > > SOO, WIE SOLLS JETZT WEITERGEHN ? > ICH MÖCHTE GERNE DAS ERGEBNIS DER SELECT-ABFRAGE > IN DAS ARRAY $studien REINBEKOMMEN ... > WOBEI $result[0] DIE KENNZAHL IST, $result[1] DIE BEZEICHNUNG ... Ist doch schon ganz okay. Wenn ich Dich richtig verstanden habe, liefert Dir das im Prinzip schon die richtigen Daten zurück, Du willst aber alle Datensätze nacheinander in ein Array stopfen, so daß es anschließend das komplette Result-Set enthält, richtig? Wenn ja, dann fehlt Dir in der While-Schleife nur ein $studien[] = $result; > um das array $studien dann auszulesen, hab ich folgendes überlegt: > > while (list($ken, $bez) = each($studien)) { > echo "$ken => $bez<br>"; > } Nicht ganz. 1. Da Du ja oben ein zweidimensionales Array erzeugt hast, funktioniert das so nicht. Du müsstest das ganze in eine weitere Schleife packen, welche die einzelnen "Rows" Deines "Result-Set-Arrays" durchläuft. 2. Wenn tatsächlich in der Schleife oben $result[0] die kennzahl ist usw. (wovon ich mal ausgehe, ich habe jetzt hier gerade kein Oracle zum testen), dann würde die zweite Schleife so wie sie oben steht etwas liefern wie 0 => A348 1 => Italienisch und nicht etwa A348=>Italienisch Wie Du es vermutlich vorhast. Für letzteres musst Du (so liest sich's jedenfalls in der Doku) den Parameter OCI_ASSOC an dein OciFetchInto anhängen, also OCIFetchInto($stm, &$result,OCI_ASSOC) Dann wird das Ergebnis als assoziatives Array zurückgeliefert, also z.B.: $result["kennzahl"] = "A348" Okay, wie gesagt, das ganze war völlig ungestestet. Hoffentlich hilft's Dir. CU, Manuel
php::bar PHP Wiki - Listenarchive