Veröffentlicht 22. Juli 200223 j Hi, ich moechte dynamische tabellen erzeugen, d.h. dynamisch in der anzahl der zeilen und spalten. das ganze soll dann mit daten aus der datenbank gefuellt werden, und die tabelle anhand des sql statements angepasst ... z.b. select feld1, feld2, feld3 from tabelle; daraus soll eine tabelle mit 3 spalten und x zeilen erzeugt werden, die mit den daten gefuellt werden ... das mit den x zeilen ist ja kein problem ... aber das mit den spalten ... :confused: kann mir da jemand nen anreiz geben, wie ich das realisieren koennte? also das mit der anzahl spalten und dem fuellen ... thanks
22. Juli 200223 j Hallo, warum musst Du denn die Tabelle dynamsich erzeugen? Gibt es keine feste Regel für die Anzahl der Spalten? Was willst Du denn genau machen? Frank
22. Juli 200223 j ich hab 20 verschiedene reports und moechte nicht fuer jeden die tabellen schreiben muessen. es gibt keine bestimmte anzahl an spalten, darum auch dynamisch. db ist oracle 8i. so long
22. Juli 200223 j Hallo, <?php mysql_connect("localhost", "mysql_user", "mysql_password") or die("could not connect"); mysql_select_db("mydb"); $result = mysql_query("SELECT id, name FROM mytable"); $columns = mysql_num_fields($result); echo "<table>"; while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "<tr>"; for($i=0;$i<$columns;$i++){ echo "<td>".$row[i]."</td>"; } echo "</tr>"; } echo "</table>"; mysql_free_result($result); ?> Das ganze ist ungetestet, da kein PHP zur Hand. Die Spaltennamen kannst du noch mit mysql_fetch_field rauskriegen. Gruß Jaraz
23. Juli 200223 j mit mysql waer das einfach, ja. aber ich hab auch schon was anderes gefunden ... in der chm hilfe, nachdem du mich auf columnames aufmerksam gemacht hast. <?php print "<HTML><PRE>\n"; $conn = OCILogon("scott", "tiger"); $stmt = OCIParse($conn,"select * from emp"); OCIExecute($stmt); print "<TABLE BORDER=\"1\">"; print "<TR>"; print "<TH>Name</TH>"; print "<TH>Type</TH>"; print "<TH>Length</TH>"; print "</TR>"; $ncols = OCINumCols($stmt); for ( $i = 1; $i <= $ncols; $i++ ) { $column_name = OCIColumnName($stmt,$i); $column_type = OCIColumnType($stmt,$i); $column_size = OCIColumnSize($stmt,$i); print "<TR>"; print "<TD>$column_name</TD>"; print "<TD>$column_type</TD>"; print "<TD>$column_size</TD>"; print "</TR>"; } print "</TABLE>\n"; OCIFreeStatement($stmt); OCILogoff($conn); print "</PRE>"; print "</HTML>\n"; ?> [/php] damit sollte das gehen ...
23. Juli 200223 j Original geschrieben von -silencer- mit mysql waer das einfach, ja. Jau lesen müsste man können. Sorry! Aber ohne testen zu können, sind die Oracle Funktionen nicht so einfach anzuwenden. Obwohl das Prinzip ja das gleiche ist, wie du erkannt hast. Hauptsache es klappt. Gruß Jaraz
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.