Tabellenformatierung

counteract

Erfahrenes Mitglied
Hallo!

ich habe leider ein Problem bei der Formatierung einer Tabelle die durch php erzeugt wird:

PHP:
$dbresult = mysql_query("SELECT * FROM tabelle");

$ret .= "<table border='1' cellpadding='4' cellspacing='2'>";

while ($row = mysql_fetch_assoc($dbresult)) {

  $ret .= "<tr>
                <td valign=top><a href='?feld1=".$row["feld1"]."'>".$row["feld1"]."</a></td>
                <td valign=top>".$row["feld2"]."</td>
              </tr>";
}	

$ret .= "</table>";


echo $ret;

if($_GET["feld1"]){
  $dbresult = mysql_query("SELECT * FROM tabelle WHERE feld1=".$_GET["feld1"]);
  $row = mysql_fetch_assoc($dbresult);

  echo "<form><input type='text' name='feld2' value='".$row["feld2"]."' /></form>";
}

Die Tabelle soll bestimmte Spaltenbreiten haben, sodass jeder Spalte eine bestimmte Spaltenbreite hat.

Leider weis ich nicht wie ich das in das vorhandene Script einarbeite.

Außerdem soll die Kopfzeile mit den Überschriften für jede Spalte und die darunter liegenden Zeilen bestimmte Hintergrundfarben haben.

Und es sollen keine Tabellenlinien vorhanden sein...

Wie kann man dies im Script lösen?

Vielen dank schonmal für eure Hilfe!

MfG

Counteract
 
Hallo,
so vielleicht:
PHP:
<?php
    $dbresult = mysql_query('SELECT * FROM tabelle') or die(mysql_error());
    
    $color = array();
    $color[0] = '#EEEEEE';
    $color[1] = '#C0C0C0';
    
    $ret .= '<table border="1" cellpadding="4" cellspacing="2" bordercolor="#000000" style="border-collapse: collapse">
             <!-- Hier musst du dann die Spalten Überschriften ungefähr so einfügen:
                <tr>
                    <td>Überschrift1</td>
                    <td>Überschrift2</td>
                    <td>Überschrift3</td>
                    ...
                </tr>
            -->
            ';

    $i = 0;
    while ($row = mysql_fetch_assoc($dbresult)) {
    
      $ret .= '<tr bgcolor="'.$color[($i % 2)].'">
                    <td valign=top><a href="?feld1='.$row['feld1'].'">'.$row['feld1'].'</a></td>
                    <td valign=top>'.$row['feld2'].'</td>
               </tr>';
        $i++;
    }    
    
    $ret .= '</table>';
    
    
    echo $ret;
    
    if($_GET['feld1']){
      $dbresult = mysql_query('SELECT * FROM tabelle WHERE feld1='.intval($_GET['feld1'])) or die(mysql_error());
      $row = mysql_fetch_assoc($dbresult);
    
      echo '<form><input type="text" name="feld2" value="'.$row['feld2'].'" /></form>';
    } 
?>

mfg
forsterm
 
Wie ist denn der Teil zu verstehn?

PHP:
    $color = array();
    $color[0] = '#EEEEEE';
    $color[1] = '#C0C0C0';

Legt man damit verschieden Hintergrundfarben fest? Wenn ja wie verwende ich diese dann in den einzelnen Zeilen bzw. Spalten der Tabelle?
 
Wie ist denn der Teil zu verstehn?

PHP:
    $color = array();
    $color[0] = '#EEEEEE';
    $color[1] = '#C0C0C0';
Legt man damit verschieden Hintergrundfarben fest? Wenn ja wie verwende ich diese dann in den einzelnen Zeilen bzw. Spalten der Tabelle?
Hallo,
ja, damit werden die Hintergrundfarben der einzelnen Zeilen festgelegt, wenn du mein Beispiel 1:1 übernimmst, dann sollte es bereits funktionieren.

mfg
forsterm
 
So jetz muss ich noch eine dumme Frage stellen:

In meiner Tabelle werden die Zeilen dynamisch erstellt, eben je nach dem wieviele Zeilen in der Datenbank vorhanden sind.

Wie schaut es denn dann mit dem Hintergrund der Zeilen aus, wenn mehrere Zeilen erstellt werden? Es soll ja praktisch nur die Überschriftenzeile eine andere Farbe haben als die darauffolgenden Zeilen.

verstehst du was ich meine Frage?
 
Zuletzt bearbeitet:
Hallo,
das ist doch einfaches HTML, also wenn du schon mit PHP programmieren willst, dann solltest du zumindest die Grundlagen von HTML beherrschen. :rolleyes:
PHP:
<?php
    $dbresult = mysql_query('SELECT * FROM tabelle') or die(mysql_error());
    
    $ret .= '<table border="1" cellpadding="4" cellspacing="2" bordercolor="#000000" style="border-collapse: collapse">
             <!-- Hier musst du dann die Spalten Überschriften ungefähr so einfügen:
                <tr bgcolor="#EEEEEE">
                    <td>Überschrift1</td>
                    <td>Überschrift2</td>
                    <td>Überschrift3</td>
                    ...
                </tr>
            -->
            ';

    $i = 0;
    while ($row = mysql_fetch_assoc($dbresult)) {
    
      $ret .= '<tr bgcolor="#FFFFFF">
                    <td valign=top><a href="?feld1='.$row['feld1'].'">'.$row['feld1'].'</a></td>
                    <td valign=top>'.$row['feld2'].'</td>
               </tr>';
        $i++;
    }    
    
    $ret .= '</table>';
    
    
    echo $ret;
    
    if($_GET['feld1']){
      $dbresult = mysql_query('SELECT * FROM tabelle WHERE feld1='.intval($_GET['feld1'])) or die(mysql_error());
      $row = mysql_fetch_assoc($dbresult);
    
      echo '<form><input type="text" name="feld2" value="'.$row['feld2'].'" /></form>';
    } 
?>

mfg
forsterm
 
Zurück