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