shad0w Geschrieben 22. Juli 2002 Geschrieben 22. Juli 2002 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
robotto7831a Geschrieben 22. Juli 2002 Geschrieben 22. Juli 2002 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
shad0w Geschrieben 22. Juli 2002 Autor Geschrieben 22. Juli 2002 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
robotto7831a Geschrieben 22. Juli 2002 Geschrieben 22. Juli 2002 Woher weißt Du denn, wieviele Spalten du brauchst? Frank
Jaraz Geschrieben 22. Juli 2002 Geschrieben 22. Juli 2002 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
shad0w Geschrieben 23. Juli 2002 Autor Geschrieben 23. Juli 2002 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 ...
Jaraz Geschrieben 23. Juli 2002 Geschrieben 23. Juli 2002 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
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