even en oneven tabellijnen verschillend weergeven
Ik heb een class gemaakt in mijn css style .lijneven alsook .lijnoneven of ben ik hier al fout?
Hier is mijn script die ik wens aan te passen;
<link rel="stylesheet" type="text/css" href="mijnweb.be/style/style.css">
<p class="hoofdstuk1">KILOMETER KLASSEMENT</p>
<br><br>
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
include('include.php');
$sql = 'SELECT naam, voornaam, SUM(Km) AS totaalkm,SUM(Punten) AS totaalpunten
FROM dvdm_gegevens
GROUP BY naam, voornaam
ORDER BY totaalkm DESC, totaalpunten DESC, naam';
$qry = mysql_query($sql) or die($MySQLError.mysql_error());
?>
include('include.php');
$sql = 'SELECT naam, voornaam, SUM(Km) AS totaalkm,SUM(Punten) AS totaalpunten
FROM dvdm_gegevens
GROUP BY naam, voornaam
ORDER BY totaalkm DESC, totaalpunten DESC, naam';
$qry = mysql_query($sql) or die($MySQLError.mysql_error());
?>
<table width="100%" >
<tr class="titela">
<td width="57"> </td>
<td width="94"><div align="left"><u>Km </u></div></td>
<td width="116" align="left"><u>Punten</u></td>
<td width="153" align="left"><u>Naam</u></td>
<td width="180" align="left"><u>Voornaam </u></td>
<td width="158" align="left"> </td>
</tr>
<tr class="gewoon">
<td align="left"> </td>
<td align="left"> <div align="left"></div></td>
<td align="left"> <div align="left"></div></td>
<td align="left"> <div align="left"></div></td>
<td align="left"></td>
<td align="left">
<div align="left"></div></td>
</tr>
</table>
Code (php)
Uitvoer is dan:
<tr class='kleur1'.......
<tr class='kleur2'.......
<tr class='kleur1'.......
<tr class='kleur2'.......
En dan dus 2 verschillende classes maken.
$i = 0;
while( ... ){
echo '<tr class="'.(($i % 2 == 0) ? 'even' : 'oneven').'">'.enzovoord.'</tr>'
Code (php)
Niet veel mensen kennen de ^ operator. Volgens mij heeft PHP hem een beetje van C geërfd.
Gewijzigd op 26/09/2005 20:38:00 door Jan Koehoorn
Ik veronderstel dat echo '<tr class="kleur' . $bla . '">'; net voor de $geg[.... komt te staan??
<tr class="kleur' . $bla . '">
komt in de plaats van
<tr class="gewoon">
@Jan Koehoorn:
$bla ^= 1;
En wat staat daar in gewone woorden? (Ik bedoel het is geen AND en geen MOD enz, maar wat dan?)
De ^ operator is een bitwise XOR. Dus OF de ene, OF de andere kant moet waar zijn en niet allebei.
In ons voorbeeld:
$bla = 1 (0000 0001)
$bla ^= 1 ($bla = $bla ^ 1)
geeft resultaat 0 omdat de bits overal hetzelfde staan.
Daarna:
$bla = 0 (0000 0000)
Nu geeft $bla ^= 1 als resultaat 1, omdat de laatste bit (LSB) verschillend is.
@Jan Koehoorn: XOR Dat wilde ik even weten. Ik ken de werking, alleen deze notatie is/was onbekend voor mij.
zou het kunnen dat de .tabel style de bovenhand haalt op de .kleur1 of .kleur2 style want ik krijg geen verschil in achtergrond bij de pare en onpare lijnen.
<style>
tr.kleur1 {
background-color: #eec;
}
tr.kleur2 {
background-color: #cee;
}
</style>
td { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 8 pt; }
.bg1 {background-color: #FFF1C4;}
.bg2 {background-color: #FFdCC4;}
Gewijzigd op 26/09/2005 21:26:00 door dvdm vdm
Wat Jan zegt gaat over <tr> en je verandert daar dan alleen de achtergrondkleur zodat de 'vakken' duidelijk iets verschillen.
Als je de tabelrijen om en om wilt kleuren, moet je twee classes maken voor de tr tag, zoals in het voorbeeld dat ik net gaf.
Okee, na je edit klopt het beter.
.bg1 {background-color: #FFF1C4;}
.bg2 {background-color: #FFdCC4;}
ik had niet alles getoond (sorry..)
Misschien helpt het ook als je een stukje hierheen plakt uit de html code van de tabel die het resultaat is.
$even=false;
}
else {
$even=true;
}
en dan while()
if($even==true){
echo("<tr><td bgcolor=kleur1></td><tr>");
}else{
echo("<tr><td bgcolor=kleur2></td><tr>");
}
Wat dachten jullie daarvan
Dan kun je beter in je CSS zetten:
tr.kleur1 td {
background-color: #ff9;
}
tr.kleur2 td {
background-color: #9ff;
}
Gewijzigd op 26/09/2005 21:35:00 door Jan Koehoorn
<tr class="bg' .$bla . '">
<td align="left"> </td>
<td align="left">8587 <div align="left"></div></td>
<td align="left">66 <div align="left"></div></td>
<td align="left">Barra <div align="left"></div></td>
<td align="left">Patrick </td>
<td align="left">
<div align="left"></div></td>
</tr>
<tr class="bg' .$bla . '">
<td align="left"> </td>
<td align="left">7782 <div align="left"></div></td>
<td align="left">65 <div align="left"></div></td>
<td align="left">Callens <div align="left"></div></td>
<td align="left">Paul </td>
<td align="left">
<tr class="bg' .$bla . '">
<td align="left"> </td>
<td align="left"> <div align="left"></div></td>
<td align="left"> <div align="left"></div></td>
<td align="left"> <div align="left"></div></td>
<td align="left"> </td>
<td align="left">
<div align="left"></div></td>
</tr>
</table>
Ja, je variabele wordt gewoon afgedrukt, zie ik