Flons Geschrieben 22. Februar 2005 Geschrieben 22. Februar 2005 Hallo! Ich habe eine vielleicht ganz simple Frage, habe aber wahrscheinlich ein Brett vor dem Kopf: Ich ziehe mittels SQL und PHP Daten aus einer Oracle-DB, die ich nun in einer Tabelle ausgeben möchte. Nun sollen diese aber nicht untereinander sondern nebeneinander ausgegeben werden. Ich habe insgesamt 3 Werte. Hier mein Code: OCIExecute($Stmt); while (OCIFetch($Stmt, "")) { $spalte2=OCIResult($Stmt,"ID_VV_REE_ENTSCHW_IST"); $spalte3=OCIResult($Stmt,"SOLLWERT"); $spalte4=OCIResult($Stmt,"ANZAHL_SCHMELZEN"); $spalte5=OCIResult($Stmt,"ABWEICHUNG"); echo "<td align=\"center\">"; echo " $spalte2"; echo "</td><td align=\"center\">"; echo " $spalte3"; echo "</td><td align=\"center\">"; echo " $spalte4"; echo "</td><td align=\"center\">"; echo " $spalte5"; echo "</td></tr>"; } echo "</table>"; Frage: Wie muß ich den Code nun ändern, damit die (zusammenhängenden) Daten nebeneinander ausgegeben werden? Danke im Voraus. Gruß Florian
meister-t Geschrieben 22. Februar 2005 Geschrieben 22. Februar 2005 also ich würds mal so probieren : <table> <tr> <? $conn = mysql_connect($dbhost,$dbuser,$dbpasswd); $sqlab = "SELECT * FROM filme ORDER BY genre_ID"; $res = mysql_db_query("$dbname", $sqlab); $num = mysql_num_rows($res); } for ($i=0; $i<$num; $i++) { $nn = mysql_result($res, $i, "titel"); $ge = mysql_result($res, $i, "format_ID"); $id = mysql_result($res, $i, "Id"); $gen = mysql_result($res, $i, "genre_ID"); echo " <td width=10>$id</td> <td width=250><a href=detail.php?titel=$id>".$nn."</a></td> <td width=20>$ge </td> <td width=50>$gen</td>"; } ?> </tr> </table> [/php] Ich weiß das mit ner MySQL datenbank aber so änlich geht das bestimmt auch mit Oracle
Flons Geschrieben 22. Februar 2005 Autor Geschrieben 22. Februar 2005 Hallo! Ich habe das jetzt wie folgt gelöst: $array1=array(); $array2=array(); $array3=array(); $i=0; OCIExecute($Stmt); while (OCIFetch($Stmt, "")) { $i++; $array1.=OCIResult($Stmt,"SOLLWERT"); $array1.=" "; $array2.=OCIResult($Stmt,"ANZAHL_SCHMELZEN"); $array2.=" "; $array3.=OCIResult($Stmt,"ABWEICHUNG"); $array3.=" "; } echo "</table>"; echo "<br><br>"; echo $array1; echo "<br>"; echo $array2; echo "<br>"; echo $array3; Jetzt habe ich nur noch das Problem, daß beim 1. Mal je Array angezeigt wird, also so: Array Datensatz1 Datensatz2 ...... Array Datensatz1 Datensatz2..... Wie kann ich das noch unterbinden??? Danke im Voraus. Gruß Florian
Tweetymax Geschrieben 22. Februar 2005 Geschrieben 22. Februar 2005 1. Verstehe ich nicht, warum du einen Array anlegst, und einen String darin speicherst, ist doch irgendwie Sinnlos *G* Daher habe ich dir mal nach dem ersten Codeschnipsel ein Beispiel angefügt, dass dein Problem so lösen sollte, wie du es wolltest Alternativ kannst du natürlich trotzdem ohne Tabellen arbeiten, aber ich für meinen Teil benutze sie lieber Wie wärs denn auf diese Art: $daten = array(); OCIExecute($Stmt); while (OCIFetch($Stmt, "")) { $daten[0][]=OCIResult($Stmt,"ID_VV_REE_ENTSCHW_IST"); $daten[1][]=OCIResult($Stmt,"SOLLWERT"); $daten[2][]=OCIResult($Stmt,"ANZAHL_SCHMELZEN"); $daten[3][]=OCIResult($Stmt,"ABWEICHUNG"); } echo "<table border=\"1\">"; for ($x=0; $x < count($daten); $x++) { echo "<tr>"; for ($y = 0; $y < count($daten[$x]); $y++) { echo "<td>".$daten[$x][$y]."</td>\n"; } echo "</tr>"; } echo "</table>";[/PHP] Damit hättest du die Ausgabe, die du haben möchtest
Flons Geschrieben 23. Februar 2005 Autor Geschrieben 23. Februar 2005 Puhh, danke.So funktioniert es. Ich hatte wohl echt einen Balken vor dem Kopf. Gruß Florian
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden