954,587 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

my table is not showing

Hello everyone,
My table is not showing right I have look over my code but I do not see anything wrong. So I figure I post it on here to see if any of you guys see it. Here it is

<html>
<head>
<title> Html Tables</title>
</head>
<body>
<?php
echo "<tablewidth=\"50%\" cellpadding=\"2\" cellspacing=\"2\" border=\"1\">";
echo "<tr bgcolor=\"#FFFFFF\">";
$rowcount=0;
for($x=1;$x<=12;$x++){
echo " <td align=\"center\" style=\"width:100px\">".$x."</td>\n";
  if ($x%4==0) {
    if ($rowcount%2==0){
       echo "</tr>";
       echo "<tr bgcolor=\"#FFCCFF\">\n";
       }
       else{
       	echo"</tr>";
       	echo "<tr bgcolor=\"#FFFFFF\">\n";
       	}
       	$rowscount++;
       }
     }
  echo "</tr>";
  echo "</table>";
  ?>
  </body>
  </html>


I got it to show up but the colors are off i need row 2 and 4 to show the colors.

sha1023012
Light Poster
30 posts since Feb 2011
Reputation Points: 10
Solved Threads: 0
 

how about having a look at the generated HTML-Output? That helps you to understand the problem.

sDJh
Posting Whiz in Training
259 posts since Aug 2005
Reputation Points: 56
Solved Threads: 29
 

So more less if I am understanding correctly I need to do a a text/css on it?

sha1023012
Light Poster
30 posts since Feb 2011
Reputation Points: 10
Solved Threads: 0
 

I am suppose to use modulus operator to set the background.

sha1023012
Light Poster
30 posts since Feb 2011
Reputation Points: 10
Solved Threads: 0
 

You need to change $rowscount++ to $rowcount++

This is the output:

<tablewidth="50%" cellpadding="2" cellspacing="2" border="1"><tr bgcolor="#FFFFFF"> <td align="center" style="width:100px">1</td> 
 <td align="center" style="width:100px">2</td> 
 <td align="center" style="width:100px">3</td> 
 <td align="center" style="width:100px">4</td> 
</tr><tr bgcolor="#FFCCFF"> 
 <td align="center" style="width:100px">5</td> 
 <td align="center" style="width:100px">6</td> 
 <td align="center" style="width:100px">7</td> 
 <td align="center" style="width:100px">8</td> 
</tr><tr bgcolor="#FFFFFF"> 
 <td align="center" style="width:100px">9</td> 
 <td align="center" style="width:100px">10</td> 
 <td align="center" style="width:100px">11</td> 
 <td align="center" style="width:100px">12</td> 
</tr><tr bgcolor="#FFCCFF"> 
</tr></table


Is that what you expect? I think you also need a space betweentable and width in

<tablewidth


. That's why you're getting no colours, because HTML doesn't recognise the code as part of a table.

diafol
Rhod Gilbert Fan (ardav)
Moderator
7,792 posts since Oct 2006
Reputation Points: 1,170
Solved Threads: 1,080
 

I am getting color to the table but not in the even rows just the color across the middle this is my code again. I am suppose to use modulus operators to set the background color. here is my code again.

<html>
<head>

<title> Html Tables</title>

</head>
<body>
<?php
echo "<table width=\"50%\" cellpadding=\"2\" cellspacing=\"2\" border=\"1\">";
echo "<tr bgcolor=\"#FFFFFF\">";
$rowcount=0;
for($x=1;$x<=12;$x++){
echo " <td align=\"center\" style=\"width:100px\">".$x."</td>\n";
  if ($x%4==0) {
    if ($rowcount%2==0){
       echo "</tr>";
       echo "<tr bgcolor=\"#5CCDC9\">\n";
       }
       else{
       	echo "</tr>";
       	echo "<tr bgcolor=\"#FFFFFF\">\n";
       	}
       	$rowcount++;
       }
     }
  echo "</tr>";
  echo "</table>";
  ?>
  </body>
  </html>


I just don't understand how to get the evens to do the color of the blue instead of the center.

sha1023012
Light Poster
30 posts since Feb 2011
Reputation Points: 10
Solved Threads: 0
 

You've only got 3 rows! So how do you expect to get colour into rows 4 and 6? I'm lost.
Can you post the expected html output. Just hand code it if you can. I'll be able to see what you're up to then.

Or post a mockup image.

diafol
Rhod Gilbert Fan (ardav)
Moderator
7,792 posts since Oct 2006
Reputation Points: 1,170
Solved Threads: 1,080
 

Ok I am suppose to have four rows three cells per row. Which in mine i have 4 rows and 3 in each my rows are lable
1 2 3 4
5 6 7 8
9 10 11 12
I am sure that is what is asking. cause the cells in row 2 and 4 should have the blue backgound color(use modulus of the row which is (%2).
And then the odd numbers should have the background color of white.
I believe that is what mine shows beside my color blue is in the middle row and not where they are suppose to be.

sha1023012
Light Poster
30 posts since Feb 2011
Reputation Points: 10
Solved Threads: 0
 

Ok I trying to understand this stuff since i am new. Maybe I have my tables and rows mixed up. I am also suppose to use css class to change the bgcolot of the alternating rows so this is what I have so far I just dont know how to put that is the PHP.

sha1023012
Light Poster
30 posts since Feb 2011
Reputation Points: 10
Solved Threads: 0
 

Like I said, if you post a mockup image of what you're trying to achieve, it should be simple to produce the code for it. And yes, using CSS is better than using bgcolor. The difference to the code will be trivial as you'll be concerned with the classname attribute (I assume) as opposed to the bgcolor value.

diafol
Rhod Gilbert Fan (ardav)
Moderator
7,792 posts since Oct 2006
Reputation Points: 1,170
Solved Threads: 1,080
 

This is the new one that I am trying to do.. here is my new code

<html>
<head>

<title> Html Tables</title>
<style type=<\"text/css\">
.even { bgcolor:#5CCDC9; }
.odd { bgcolor:#FFFFFF; }
</style>
</head>
<body>
<?php
echo "<table width=\"50%\" cellpadding=\"2\" cellspacing=\"2\" border=\"1\">";
echo "<tr bgcolor=\"#FFFFFF\">";
$rowcount=0;
for($x=1;$x<=12;$x++){
echo " <td align=\"center\" style=\"width:100px\">".$x."</td>\n";
  if ($x%4==0) {
    if ($rowcount%2==0){
       echo "</tr>";
       echo "<tr class=\"even\">\n";
       }
       else{
       	echo "</tr>";
       	echo "<tr class=\"odd\">\n";
       	}
       	$rowcount++;
       }
     }
  echo "</tr>";
  echo "</table>";
  ?>
  </body>
  </html>


do you understand this better..

sha1023012
Light Poster
30 posts since Feb 2011
Reputation Points: 10
Solved Threads: 0
 

OK this is what I have so far?

<html>
<head>

<title> Html Tables</title>
<style type=<\"text/css\">
.even { bgcolor:#5CCDC9; }
.odd { bgcolor:#FFFFFF; }
</style>
</head>
<body>
<?php
echo "<table width=\"50%\" cellpadding=\"2\" cellspacing=\"2\" border=\"1\">";
echo "<tr bgcolor=\"#FFFFFF\">";
$rowcount=0;
for($x=1;$x<=12;$x++){
echo " <td align=\"center\" style=\"width:100px\">".$x."</td>\n";
  if ($x%4==0) {
    if ($rowcount%2==0){
       echo "</tr>";
       echo "<tr class=\"even\">\n";
       }
       else{
       	echo "</tr>";
       	echo "<tr class=\"odd\">\n";
       	}
       	$rowcount++;
       }
     }
  echo "</tr>";
  echo "</table>";
  ?>
  </body>
  </html>


Sorry I am a newbie at this. I am not understand how to write the php in it yet.

sha1023012
Light Poster
30 posts since Feb 2011
Reputation Points: 10
Solved Threads: 0
 

No, this is not what I was talking about. You've pretty much posted the same code every time. I'm talking about the html output you expect to see or include a mock-up image of what it should look like in the browser. For example:

table.png

Attachments table.png 51.31KB
diafol
Rhod Gilbert Fan (ardav)
Moderator
7,792 posts since Oct 2006
Reputation Points: 1,170
Solved Threads: 1,080
 

I have no clue what you are talking about

sha1023012
Light Poster
30 posts since Feb 2011
Reputation Points: 10
Solved Threads: 0
 

I think the feeling's mutual. OK, I'll leave it somebody else. Good luck with it though.

diafol
Rhod Gilbert Fan (ardav)
Moderator
7,792 posts since Oct 2006
Reputation Points: 1,170
Solved Threads: 1,080
 

Ok thank you.

sha1023012
Light Poster
30 posts since Feb 2011
Reputation Points: 10
Solved Threads: 0
 

Ok I am still working on this. I know i need to create a css on my work this is what I have so far.I am still confused about this with PHP. If someone would be nice enough to explain so i can understand. I think I did the Css right but then i dont know to me right now it looks like a mess.But can someone please help me understand. The table is suppose to have this a width of 100 px, content is to be centered ,each cell contains its corresponding number ( first cell contains "1", second contains "2", etc ). The cells in rows 2 and 4 should have a background color of light blue (use modulus of the row (%2)).The cells in the odd rows should have a background color of white. I am also suppose to use separate counter to keep track of the numbers of rows. Use modulus operators to set background color. use CSS class to change the background of the alternating rows,get the table to print correctly before changing the background color. I though i will share all this so people have a better understanding of what I am suppose to do.
Here is my code so far:

<html>
<head>
<title>Table Example</title>
<style type="text/css">
.altrow { background-color:#5CCDC9; }
.odd { background-color:#FFFFFF;}
</style>
</head>
<body>
<table width="50%" cellpadding="0" cellspacing="0" border="1">
<tr class="odd>
	<td>1</td>
	<td>3</td>
	<td>5</td>
</tr>
<tr class="altRow">
	<td>2</td>
	<td>4</td>
	<td>6</td>
</tr>
<tr class="odd">
	<td>7</td>
	<td>9</td>
	<td>11</td>
</tr>
<tr class="altRow">
	<td>8</td>
	<td>10</td>
	<td>12</td>
</tr>
<?php
$rowcount=0;
for($x=1;$x<=12;$x++){
echo " <td align=\"center\" style=\"width:100px\">".$x."</td>;
for ($x%4==0) {
    if ($rowcount%2==0){
       echo "</tr>";
       echo "<tr class=\"even\">\n";
       }
       else{
       	echo "</tr>";
       	echo "<tr class=\"odd\">\n";
       	}
       	$rowcount++;
       }
     }
  echo "</tr>";
  echo "</table>";
  ?>
  </body>
  </html>
sha1023012
Light Poster
30 posts since Feb 2011
Reputation Points: 10
Solved Threads: 0
 

Blinkin hell, that's the html output I was referring to.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<style>
  td{
     width: 100px;
     text-align: center;
  }
  .odd{
     background-color: green;
  }
  .even{
     background-color: yellow;
  }


</style>

</head>
<body>

<table>
<?php
for($x=1;$x<=12;$x+=3){
  $class = ($x%2 == 0) ? 'even' : 'odd';
  echo "<tr class=\"$class\"><td>$x</td><td>" . ($x + 1) . "</td><td>" . ($x+ 2) . "</td></tr>";
}
?>
</table>
</body>
</html>


try that. Zebra striping is easy with css3 (nth-child), but browser support is dodgy.

diafol
Rhod Gilbert Fan (ardav)
Moderator
7,792 posts since Oct 2006
Reputation Points: 1,170
Solved Threads: 1,080
 

Ok now i need to get the ""; now do i put that in the table part or do i do an echo for it?

sha1023012
Light Poster
30 posts since Feb 2011
Reputation Points: 10
Solved Threads: 0
 

Ok thank you so much for your help.I got it all put together thanks.

sha1023012
Light Poster
30 posts since Feb 2011
Reputation Points: 10
Solved Threads: 0
 

This question has already been solved

Post: Markdown Syntax: Formatting Help
You
 
View similar articles that have also been tagged: