Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben

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

Geschrieben

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

Geschrieben

mit mysql waer das einfach, ja. :D

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 ... :)

Geschrieben
Original geschrieben von -silencer-

mit mysql waer das einfach, ja. :D

Jau lesen müsste man können. Sorry! :rolleyes:

Aber ohne testen zu können, sind die Oracle Funktionen nicht so einfach anzuwenden. :D Obwohl das Prinzip ja das gleiche ist, wie du erkannt hast. Hauptsache es klappt.

Gruß Jaraz

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...