Flons Geschrieben 22. Februar 2005 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
meister-t Geschrieben 22. Februar 2005 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Flons Geschrieben 22. Februar 2005 Autor Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Tweetymax Geschrieben 22. Februar 2005 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Flons Geschrieben 23. Februar 2005 Autor Teilen Geschrieben 23. Februar 2005 Puhh, danke.So funktioniert es. Ich hatte wohl echt einen Balken vor dem Kopf. Gruß Florian Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.