gibt es eine Möglichkeit als erste Zeile die Spaltennamen
auszulesen ?
Martin
Nicht direkt, AFAIR. Aber ein Studium der Doku hat mir gerade gesagt,
dass es oci_fetch_array(<$resource>, OCI_ASSOC) bzw. oci_fetch_assoc()
gibt. Benutzt du eine der Funktionen, kannst du mittels array_keys ganz
einfach die Spaltennamen ermitteln. Das ganze in ein if geschachtelt,
damit es nur beim Verarbeiten der ersten Zeile ein Mal ausgeführt wird,
und alles wird gut.
Grüße,
Dominik
--
Wo kämen wir denn da hin, wenn jeder nur fragte "Wo kämen wir denn
da hin?", aber niemand ginge, um zu sehen, wohin wir kämen, wenn wir
gingen?
(Autor unbekannt)
ich habe das probiert, allerdings liefert das Array der keys die
Assoziation, d. h. Array[0] => ROWNUM etc.
Zwischenzeitlich ahbe ich eine bessere Lösung gefunden und zwar über
oci_fetch_all, das ein Array befüllt und die Zeilena nzahl als
Ergebnis zurückliefert.
Das sieht dann so aus:
$nrows = oci_fetch_all($stid, $results);
if ($nrows > 0) {
echo "<table border=\"1\">";
echo "<tr>";
foreach ($results as $key => $val) {echo "<th>$key</th>";}
echo "</tr>";
for ($i = 0; $i < $nrows; $i++) {
echo "<tr>";
foreach ($results as $data) {
echo "<td>$data[$i]</td>";
}
echo "</tr>";
}
echo "</table>";
}
else {echo "Keine Daten gefunden<br />";}
Trotzdem vielen Dank für Deinen Hinweis, werde mich damit auch noch
intensiver beschäftigen müssen.
Martin
War es nicht das, was du wolltest? Ich hatte dich so verstanden.
Vielleicht liefern die Oracle Funktionen aber auch irgendwas völlig
anderes zurück, als die MySQL Funktionen. Ich kann das hier mangels
Oracle leider grad nicht testen.
> Zwischenzeitlich ahbe ich eine bessere Lösung gefunden und zwar über
> oci_fetch_all, das ein Array befüllt und die Zeilena nzahl als
> Ergebnis zurückliefert.
Wieso Zeilenanzahl? In deinem Ursprungsbeitrag hast du von Spaltennamen
gesprochen.
> $nrows = oci_fetch_all($stid, $results);
> if ($nrows > 0) {
> echo "<table border=\"1\">";
> echo "<tr>";
> foreach ($results as $key => $val) {echo "<th>$key</th>";}
Und genau hier gibst du die Spaltennamen aus. Das ist das, was ich als
Ergebnis meines Aufrufs erwartet hatte und was ich als dein Anliegen
verstanden hatte.