phpbar.de logo

Mailinglisten-Archive

[php] Tabellen aus DB (war: Fettschrift aus Datenbank?)

[php] Tabellen aus DB (war: Fettschrift aus Datenbank?)

Martin Samesch martin.samesch_(at)_vogelspinnenseite.de
Mon, 30 Oct 2000 18:43:08 +0100


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>:&#160;
    </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,&#160;
    </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,&#160;
    </td>
    <td>
      <select name="layout[]" size="1">
        <OPTION value="">Layout ausw&auml;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 = "&#160;";
      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