phpbar.de logo

Mailinglisten-Archive

[php] select ergebnis (ora8) in array einlesen

[php] select ergebnis (ora8) in array einlesen

Manuel Hossfeld lists_(at)_hossfeld.de
Tue, 1 Feb 2000 09:04:36 +0100


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