cataleptic_state
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> </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;
?>
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?
What error does the code give you?
ASKER
I have removed it now but here is how the line looked
$html .= "<th bgcolor="echo ($ac_sw1++%2==0)?"#ffffff" :"#dfdfdf" ;">$teamco lname</th> ";
Error code:
Parse error: syntax error, unexpected T_ECHO in C:\xampp\htdocs\football\r esults-gri d.php on line 282
$html .= "<th bgcolor="echo ($ac_sw1++%2==0)?"#ffffff"
Error code:
Parse error: syntax error, unexpected T_ECHO in C:\xampp\htdocs\football\r
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
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
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
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>";
ASKER
// Initialize the Alternate Color counter
$ac_sw1 = 0;
<tr bgcolor="<?php echo ($ac_sw1++%2==0)?"#ffffff"