Tabelle Horizontal

svenja

Mitglied
Hi,

ich möchte eine Tabell Horziontal mit 3 spalten darstellen dank der suchfunktion hier habe ich mir was zusammen-basteln können.
Das ganze spcript funktiert auch ganz gut.
Wenn ich allerdings eine hintergrund farbe für eine zelle bestimmen will, funktioniert der script leider nicht mehr :-( Ich weis allerdings nicht warum.
Kann mir jemand sagen wo der fehler liegt oder was Ich anderst machen muss

Gruss
Svenja

Das ist der funktionierende Code:

PHP:
<?
include("db.inc.php");
$id = mysql_query("SELECT * FROM daten"); 
echo "<table border=1><tr>"; 
for($i=1;$row=mysql_fetch_array($id);$i++) 
{ 
?>
<td height="60" align="left" valign="top"><? echo $row['id'] ?></td>
<?

if($i % 3 == 0) 
{ 
echo"</tr><tr>"; 
} 
} 
echo "</tr></table>\n";

mysql_close();
?>

Sobald ich allerding nun die Hintergrundfarbe einfügen will siehe nachstehen code:

PHP:
<?
include("db.inc.php");
$id = mysql_query("SELECT * FROM daten"); 
echo "<table border=1><tr>"; 
for($i=1;$row=mysql_fetch_array($id);$i++) 
{ 
?>
<tr bgcolor="#EEEEEE">
<td height="131" align="left" valign="top"><? echo $row['id'] ?></td>
<?

if($i % 3 == 0) 
{ 
echo"</tr><tr>"; 
} 
} 
echo "</tr></table>\n";

mysql_close();
?>

^^^^^^^Der funktioniert nicht, sobal ich <tr bgcolor="#EEEEEE"> einfüge^^^^^^^

Kann mir jemand helfen
 
Äh... warum machst du denn ein zweites <tr>? Ich dachte, du willst Hintergrundfarben für die einzelnen Zellen definieren, und nicht für die gesamte Zeile. :confused:
 
Versuche es mal so:

PHP:
<?
include("db.inc.php"); 
$id = mysql_query("SELECT * FROM daten"); 
echo '<table border=1><tr bgcolor="#EEEEEE">';  // Mit Hintergrundfarbe
for($i=1;$row=mysql_fetch_array($id);$i++) 
{ 
?> 
<!-- <tr bgcolor="#EEEEEE">  -> ist hier zuviel -->
<td height="131" align="left" valign="top"><? echo $row['id'] ?></td> 
<? 

if($i % 3 == 0) 
{ 
echo'</tr><tr bgcolor="#EEEEEE">';  //Beginne neue Zeile mit Hintergrundfarbe
} 
} 
echo "</tr></table>\n"; 

mysql_close(); 
?>


So sollte es Funktktionieren
 
Zuletzt bearbeitet:
hi, vielen dank erstmal für die schnelle antwort ABER......
das ist noch nicth ganz das was ich meinte, ich will ja für die zelle eine andere hintergrund farbe machen nicht für die gesamt tabelle da später nochmal mehr spalten hinzukommen wo manche eine andere farbe besitzen

das ist der ausgebaute code wie es später mal aussehen soll...... aber der geht nicht.... :-(

PHP:
<? 
include("db.inc.php"); 
$id = mysql_query("SELECT * FROM daten"); 
echo '<table border=1><tr bgcolor="#EEEEEE">';  // Mit Hintergrundfarbe 
for($i=1;$row=mysql_fetch_array($id);$i++) 
{ 
?> 
<!-- <tr bgcolor="#EEEEEE">  -> ist hier zuviel --> 
<table height="179" border=0>
<tr bgcolor="#7496BB">
<td width="205" height="14"><span class="style1"><img src="img/pf.png" width="14" height="14" align="absmiddle">&nbsp;<? echo $row['Name'] ?></span></td>
<tr bgcolor="#EEEEEE">
    <td height="131" align="left" valign="top"><img src="Data/1.jpg" width="111" height="89" align="top"><br>
      <? echo $row['id'] ?></td>
</tr>
<? 

if($i % 3 == 0) 
{ 
echo'</tr><tr bgcolor="#EEEEEE">';  //Beginne neue Zeile mit Hintergrundfarbe 
} 
} 
echo "</tr></table>\n"; 

mysql_close(); 
?>

könnte mir jemand helfen
 
wie meinst du das denn mit jeder zelle eine andere farbe?

So wie ich es jetzt verstanden habe, möchtest D, daß jede ZEILE anders dargestellt wird.

Bsp.:
Erste ZEILE mit bgcolor=#EEEEEE
Zweite ZEILE mit bgcolor=#7496BB
Dritte ZEILE mit bgcolor=#EEEEEE
Vierte ZEILE mit bgcolor=#7496BB
usw.

Nur deine Tabelle in der Tabelle so wie Du es im Code zu stehen hast, kann nicht funktionieren.
 
mit den farben meine ich das eher so in die richtung hier

Code:
<table width="275" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="32" bgcolor="#FFFF00">&nbsp;</td>
    <td bgcolor="#0000FF">&nbsp;</td>
  </tr>
  <tr bgcolor="#999999">
    <td height="226" colspan="2">&nbsp;</td>
  </tr>
</table>

bzw so sollte die tabelle aussehen davon aber 3 nebeneinander neue zeile wieder 3 nebeneinander
 
PHP:
<? 
include("db.inc.php"); 
$id = mysql_query("SELECT * FROM daten"); 
echo '<table border=1><tr>';

col1="#EEEEEE"; //1.Hintergrundfarbe festlegen
col2="#DFDFDF"; //2.Hintergrundfarbe festlegen
$bg=col1;

for($i=1;$row=mysql_fetch_array($id);$i++) 
{ 
$bg=($bg==col2)?$col1:$col2; // neue Hintergrundfarbe auswählen
echo '<td bgcolor="'.$bg.'">'; // Beginn Zelle
?>
<!-- In dieser Zelle eine Tabelle2 -->
<table height="179" border=0> 
<tr bgcolor="#7496BB"> 
<td width="205" height="14"><span class="style1"><img src="img/pf.png" width="14" height="14" align="absmiddle">&nbsp;<? echo $row['Name'] ?></span></td></tr>
<tr bgcolor="<? echo $bg ?>"> 
    <td height="131" align="left" valign="top"><img src="Data/1.jpg" width="111" height="89" align="top"><br> 
      <? echo $row['id'] ?></td> 
</tr> 
<!-- Ende der Tabelle2 -->
<? 
echo "</td>"; // Ende der Zelle
if($i % 3 == 0) 
{ 
echo'</tr><tr>';  //Beginne neue Zeile mit Hintergrundfarbe 
} 
} 
echo "</tr></table>\n"; 

mysql_close(); 
?>
 
Original geschrieben von svenja
mit den farben meine ich das eher so in die richtung hier

Code:
<table width="275" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="32" bgcolor="#FFFF00">&nbsp;</td>
    <td bgcolor="#0000FF">&nbsp;</td>
  </tr>
  <tr bgcolor="#999999">
    <td height="226" colspan="2">&nbsp;</td>
  </tr>
</table>


bzw so sollte die tabelle aussehen davon aber 3 nebeneinander neue zeile wieder 3 nebeneinander

Soll das jetzt die Grund Tabelle darstellen oder die innerhalb einer Zelle der Grundtabelle?
 
Zurück