Mailinglisten-Archive |
Hallo Michael, Michael.Lebang_(at)_VuW.de wrote: > > [....] > Funktioniert gut...Akzeptanz ist gut...mir fehlt nur noch eine > Lösung für Tabellen... ;-) Dafür suche ich auch gerade eine bessere Lösung, als die von mir bisher verwendete (zu unflexibel, HTML in der Datenbank). Ich denke dabei an ein Feld "Tabellen", in der die Werte als csv (ist doch csv?) drinstehen: "a00, a01,...., a10, a11,....". In der Tabelle dann: a00 a01 a02 a03 ... a10 a11 a12 ... ... ... ... ... ... ... Bisher: <form blabla> . . <font size="+1" color="#004000"><b>Tabellen</b></FONT><br> (<A HREF="#tabellenlayout">Layout....</a>) // Layout 0: keine <th> // Layout 1: <th> erste Zeile // Layout 2: <th> erste Spalte // Layout 3: <th> jeweils erste Zeile und Spalte <p> <?php # Anzahl Zeilen/Spalten und Layout je Tabelle festlegen $max_anz_tabellen = 5; $max_anz_zeilen = 20; $max_anz_spalten = 15; $i = 1; for ($i==1;$i<=$max_anz_tabellen;$i++) { $j = $k = 2; ?> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td> <b> Tabelle <?php echo $i ?></b>:  </td> <td> <select name="zeilen[]" size="1"> <OPTION value="">Anzahl</OPTION> <?php for ($j==2;$j<=$max_anz_zeilen;$j++) { ?> <OPTION value="<?php echo $j ?>"><?php echo $j ?></OPTION> <?php } ?> </select>Zeilen,  </td> <td> <select name="spalten[]" size="1"> <OPTION value="">Anzahl</OPTION> <?php for ($k==2;$k<=$max_anz_spalten;$k++) { ?> <OPTION value="<?php echo $k ?>"><?php echo $k ?></OPTION> <?php } ?> </select>Spalten,  </td> <td> <select name="layout[]" size="1"> <OPTION value="">Layout auswählen</OPTION> <OPTION value="0">Layout 0</OPTION> <OPTION value="1">Layout 1</OPTION> <OPTION value="2">Layout 2</OPTION> <OPTION value="3">Layout 3</OPTION> </select> </td> </tr> </table> <?php . . ?> </form> # Leere Tabellen anzeigen <?php $zaehler = 0; while (($zeilen[$zaehler] != "") && ($spalten[$zaehler] != "") && ($layout[$zaehler] != "")) { $tabelle_nr = $zaehler + 1; $anz_zeilen = $zeilen[$zaehler]; $anz_spalten = $spalten[$zaehler]; $zeile = 0; ?> <b>Tabelle <?php echo $tabelle_nr ?>:</b> <br> <table cellpadding="0" cellspacing="0" border="1"> <?php for ($zeile==0;$zeile<$anz_zeilen;$zeile++) { $spalte = 0; ?> <tr> <?php for ($spalte==0;$spalte<$anz_spalten;$spalte++) { ?> <td> <input type="text" name="feld[<?php echo $tabelle_nr ?>][<?php echo $zeile ?>][<?php echo $spalte ?>]" size="12"> </td> <?php } ?> </tr> <?php } ?> </table> <p> <?php $zaehler++; } ?> # Tabellen basteln # Ueberschrift $beschreibung .= "\n<p><font color=\"#004000\" size=\"+2\"><b>Tabellen</b></font>"; $zaehler = 0; while (($zeilen[$zaehler] != "") && ($spalten[$zaehler] != "") && ($layout[$zaehler] != "")) { $tabelle_nr = $zaehler + 1; $anz_zeilen = $zeilen[$zaehler]; $anz_spalten = $spalten[$zaehler]; $zeile = 0; $beschreibung .= "\n<p>\n<a name=\"Tabelle_$tabelle_nr\"><b>Tabelle $tabelle_nr:</b></a><br>\n"; $beschreibung .= "<table cellpadding=\"2\" cellspacing=\"0\" border=\"1\">\n"; for ($zeile==0;$zeile<$anz_zeilen;$zeile++) { $spalte = 0; $beschreibung .= " <tr>\n"; for ($spalte==0;$spalte<$anz_spalten;$spalte++) { if ($feld[$tabelle_nr][$zeile][$spalte]): $feldinhalt = htmlentities(stripslashes($feld[$tabelle_nr][$zeile][$spalte])); else: $feldinhalt = " "; endif; $data_tag = "td"; if ($layout[$zaehler] != 0) if (($layout[$zaehler] != 1 && $spalte == 0) || ($layout[$zaehler] != 2 && $zeile == 0)) $data_tag = "th"; $beschreibung .= " <" . $data_tag . " align=\"center\">" . $feldinhalt . "</" . $data_tag . ">\n"; } $beschreibung .= " </tr>\n"; } $beschreibung .= "</table>\n"; $beschreibung .= "<p>\n"; $zaehler++; } Gruß, Martin
php::bar PHP Wiki - Listenarchive