Beliebiges SELECT-Ergebnis einer Scriptcase Datenbankverbindung als HTML-Tabelle formatieren
Manchmal benötigt man den Inhalt einer SQL-Tabelle zur Anzeige oder für Debugging als einfache HTML-Tabelle.
Besser noch, das Ergebnis eines allgemeinen SELECT – das kann ja auch die Tabelle sein:
SELECT * FROM tabelle LIMIT 0,50
Dabei werden die Spalten-Namen als Tabellen-Überschrift angeschrieben.
Die Funktion:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
function asdw_select_into_html_table($sql,$my_connection='') { // // Returns the content of the $sql-Select as HTML-Table // If $my_connection <>'' -> use the Scriptcase connection 'asdw_tools_external' // if (trim($sql)=='') { asdw_error ('asdw_select_into_html_table - parameter $sql (Select for table) is empty.'); } if (trim($my_connection)<>'') { asdw_echo('Use the free connection - asdw_tools_external'); sc_select(my_data, $sql, "asdw_tools_external"); } else { sc_select(my_data, $sql); } if ({my_data} === false) { asdw_error( "asdw_select_into_html_table() - Access error. Message =". {my_data_erro} . ' - ' . $sql) ; } else { $i=1; $tab = "<table border='1'><tr>"; foreach({my_data}->fields AS $key=>$value) { if ($i++ % 2 == 1 ) { $tab .= "<th>".$key."</th>"; } } $tab .= "</tr>"; while (!{my_data}->EOF) { $i=1; $tab .= "<tr>"; foreach({my_data}->fields AS $key=>$value) { if ($i++ % 2 == 1 ) { $tab .= "<td>".$value."</td>"; } } $tab .= "</tr>"; {clientName} = {my_data}->fields[1]; {my_data}->MoveNext(); } {my_data}->Close(); } $tab .= "</table>"; return $tab; } |
Diese Funktion erhält als Parameter das SELECT-Statement.
Also zum Beispiel ($table enthält den Namen der Tabelle):
1 2 3 4 |
$sql="SELECT * FROM " . $table . " LIMIT 0,2"; $t_table = asdw_select_into_html_table($sql); echo $t_table; |
kann ergeben:
Tipp:
Wenn ein zweiter Parameter übergeben wird, versucht die Routine aus der ASDW-Connection asdw_tools_external zu arbeiten.
Diese Verbindung verwenden wir häufig um dynamisch externe Datenbanken anzusprechen.
Aktuell ist dieser Parameter in Scriptcase leider nicht als variabler String anzusprechen.
Meine Bitte:
Wenn Sie noch schönere Formatierungen für die Ausgabe verwenden – bitte senden Sie mir gerne jederzeit Ihre Tipps, damit ich den Beitrag erweitern kann.