Link to home
Start Free TrialLog in
Avatar of cataleptic_state
cataleptic_stateFlag for United Kingdom of Great Britain and Northern Ireland

asked on

Alternate Row

<?php
$result = mysql_query("
select 
m.match_id, m.date, m.time, m.report, 
t1.team_name as team1_name, t1.team_id as team1_id, s1.score as score1, 
t2.team_name as team2_name, t2.team_id as team2_id, s2.score as score2 
from matches m 
left join (matchscores s1 left join team t1 on t1.team_id = s1.team) on (s1.match_id = m.match_id) 
left join (matchscores s2 left join team t2 on t2.team_id = s2.team) on (s2.match_id = m.match_id) 
where s1.team <> s2.team group by match_id order by m.match_id") or die(mysql_error());

while($record = mysql_fetch_assoc($result))
{
  // Check if we have already got an entry for this pair of teams, and if so, try them the other way round.
  if(!isset($resultsgrid[$record['team1_id']][$record['team2_id']]))
  {
    $resultsgrid[$record['team1_id']][$record['team2_id']] = $record['score1'].'-'.$record['score2'];
  }
  elseif(!isset($resultsgrid[$record['team2_id']][$record['team1_id']]))
  {
    $resultsgrid[$record['team2_id']][$record['team1_id']] = $record['score2'].'-'.$record['score1'];
  }
  else
  {
    // This would be the 3rd result for this pair so make an error or something.
  }
  // Also we want a list of teams for our headers
  $teams[$record['team1_id']] = $record['team1_name'];
  $teams[$record['team2_id']] = $record['team2_name'];
}

// Now output the grid as a table
$html = '
	<table width="100%" border="1">
		<tr style="background-color:#000000;"><th>&nbsp;</th>';
foreach($teams as $col=>$teamcolname)
{
	$html .= "<th >$teamcolname</th>";
}
$html .= '</tr>';
foreach($teams as $row=>$teamrowname)
{
	$html .= "
		<tr><th style=\"background-color:#eee;\">$teamrowname</th>";
	foreach($teams as $col=>$teamcolname)
	{
		if($col == $row)
		{
			$html .= '
			<td style="width: 4em; text-align: center; background-color:black;">X</td>';
		}
		else
		{
			$html .= '
			<td style="width: 4em; text-align: center; background-color:#124f16; color:#ffffff; font-weight:bold;">'.(isset($resultsgrid[$row][$col])?$resultsgrid[$row][$col]:'-').'</td>'; // If there is no result for this position, make a '-' instead.
		}
	}
	$html .= '
		</tr>';
}
$html .= '
	</table>';
echo $html;

?>

Open in new window


I have this code that I want to modify the TH's of.

The TH's hold the team name and I need alternating background colours

The Headings go along the top and the left hand side.

I have been trying to use the Dreamweaver code I have but that keeps giving errors.
Is there any other way to do it?
Avatar of cataleptic_state
cataleptic_state
Flag of United Kingdom of Great Britain and Northern Ireland image

ASKER

The Dreameaver code is

// Initialize the Alternate Color counter
$ac_sw1 = 0;

<tr bgcolor="<?php echo ($ac_sw1++%2==0)?"#ffffff":"#dfdfdf"; ?>" onmouseout="this.style.backgroundColor=''" onmouseover="this.style.backgroundColor=''">

What error does the code give you?
I have removed it now but here is how the line looked

$html .= "<th bgcolor="echo ($ac_sw1++%2==0)?"#ffffff":"#dfdfdf";">$teamcolname</th>";

Error code:
Parse error: syntax error, unexpected T_ECHO in C:\xampp\htdocs\football\results-grid.php on line 282
ASKER CERTIFIED SOLUTION
Avatar of mpickreign
mpickreign
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Here is a free extension for Dreamweaver that will create alternating row colors.

Maybe it will be of some help.

http://www.dmxzone.com/go?4717
Good morning.  I just woke up to find you have accepted an answer to this question, and I did not see your updates over night.  From the code posted below and the answer you accepted, I think you might benefit from a book that could give you something of a foundation in the principles of PHP.  A "parse error" is the most basic of syntax issues, kind of like not knowing what notes to play when you look at a chart of musical chords.  Maybe one day I will write an article about coding standards, but in the mean time, please go buy this book and work through the examples.  It will not make you a professional, but it is easy to read and has plenty of code samples that you can download from the book web site and modify for your own use.

http://www.sitepoint.com/books/phpmysql4/

Best of luck with your project, ~Ray
// CODE POST NUMBER ONE IS VERY DIFFERENT FROM CODE POST NUMBER TWO
$ac_sw1 = 0;
<tr bgcolor="<?php echo ($ac_sw1++%2==0)?"#ffffff":"#dfdfdf"; ?>" onmouseout="this.style.backgroundColor=''" onmouseover="this.style.backgroundColor=''">

// CODE POST NUMBER TWO
$html .= "<th bgcolor="echo ($ac_sw1++%2==0)?"#ffffff":"#dfdfdf";">$teamcolname</th>";

Open in new window