even en oneven tabellijnen verschillend weergeven

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Dvdm vdm

dvdm vdm

26/09/2005 18:54:00
Quote Anchor link
Hoe kan ik gegevens uit een MySql tabel weergeven en de even als de oneven lijnen een verschillende achtergrond automatisch instellen (om een beter overzicht te krijgen tussen de lijnen)
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)
PHP script in nieuw venster Selecteer het PHP script
1
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());  
?>

<table width="100%" >
<tr class="titela">

<td width="57">&nbsp;</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">&nbsp;</td>
</tr>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
  while($geg = mysql_fetch_assoc($qry)) {  
?>

<tr class="gewoon">
<td align="left">&nbsp;</td>
<td align="left">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $geg['totaalkm']; ?>
<div align="left"></div></td>
<td align="left">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $geg['totaalpunten']; ?>
<div align="left"></div></td>
<td align="left">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $geg['naam']; ?>
<div align="left"></div></td>
<td align="left">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $geg['voornaam'];?>
</td>
<td align="left">
<div align="left"></div></td>
</tr>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
<? }  
?>

</table>
 
PHP hulp

PHP hulp

15/11/2024 16:48:47
 
- SanThe -

- SanThe -

26/09/2005 19:19:00
Quote Anchor link
Ik doe het altijd zo.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$bla
=1;
while(....)
{

    echo "<tr class='kleur" . $bla . "' enzovoort";
    $bla=3-$bla;
}

?>


Uitvoer is dan:
<tr class='kleur1'.......
<tr class='kleur2'.......
<tr class='kleur1'.......
<tr class='kleur2'.......

En dan dus 2 verschillende classes maken.
 
Jelmer -

Jelmer -

26/09/2005 19:45:00
Quote Anchor link
of
$i = 0;
while( ... ){
echo '<tr class="'.(($i % 2 == 0) ? 'even' : 'oneven').'">'.enzovoord.'</tr>'
 
Jan Koehoorn

Jan Koehoorn

26/09/2005 20:36:00
Quote Anchor link
Ik vind deze altijd heel elegant:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
// rijen afwisselen

  $bla = 1;

  while ( ... ) {
    $bla ^= 1;
    echo '<tr class="kleur' . $bla . '">';
  }

?>


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
 
Dvdm vdm

dvdm vdm

26/09/2005 20:42:00
Quote Anchor link
het lukt mij allemaal niet! ik heb weinig ervaring met classes in tabellen (slechts een paar dagen ..)
Ik veronderstel dat echo '<tr class="kleur' . $bla . '">'; net voor de $geg[.... komt te staan??
 
- SanThe -

- SanThe -

26/09/2005 20:55:00
Quote Anchor link
@dvdm:
<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?)
 
Jan Koehoorn

Jan Koehoorn

26/09/2005 21:08:00
Quote Anchor link
@ SanThe

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.
 
- SanThe -

- SanThe -

26/09/2005 21:14:00
Quote Anchor link
@Jan Koehoorn: XOR Dat wilde ik even weten. Ik ken de werking, alleen deze notatie is/was onbekend voor mij.
 
Dvdm vdm

dvdm vdm

26/09/2005 21:18:00
Quote Anchor link
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.
 
Jan Koehoorn

Jan Koehoorn

26/09/2005 21:22:00
Quote Anchor link
doe je het zo?

<style>
tr.kleur1 {
background-color: #eec;
}

tr.kleur2 {
background-color: #cee;
}
</style>
 
Dvdm vdm

dvdm vdm

26/09/2005 21:23:00
Quote Anchor link
nee, dit zit in mijn style.css =>

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
 
- SanThe -

- SanThe -

26/09/2005 21:26:00
Quote Anchor link
Wat Jan zegt gaat over <tr> en je verandert daar dan alleen de achtergrondkleur zodat de 'vakken' duidelijk iets verschillen.
 
Jan Koehoorn

Jan Koehoorn

26/09/2005 21:26:00
Quote Anchor link
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.
 
Jan Koehoorn

Jan Koehoorn

26/09/2005 21:27:00
Quote Anchor link
Okee, na je edit klopt het beter.
 
Dvdm vdm

dvdm vdm

26/09/2005 21:27:00
Quote Anchor link
td { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 8 pt; }
.bg1 {background-color: #FFF1C4;}
.bg2 {background-color: #FFdCC4;}

ik had niet alles getoond (sorry..)
 
Jan Koehoorn

Jan Koehoorn

26/09/2005 21:29:00
Quote Anchor link
Ik weet alleen niet uit mijn hoofd hoe het ook weer zat met browser ondersteuning.

Misschien helpt het ook als je een stukje hierheen plakt uit de html code van de tabel die het resultaat is.
 

26/09/2005 21:29:00
Quote Anchor link
if ($i%2!=0) {
$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
 
Jan Koehoorn

Jan Koehoorn

26/09/2005 21:34:00
Quote Anchor link
Ja dat kan ook, maar dan moet je alle TD's gaan stylen. In een tabel met maar 1 kolom gaat dat nog wel, maar met bijv. een stuk of 10 kolommen is dat niet zo handig.

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
 
Dvdm vdm

dvdm vdm

26/09/2005 21:34:00
Quote Anchor link
hier is een stukje uit de html broncode en het ziet er niet goe uit :<

<tr class="bg' .$bla . '">
<td align="left">&nbsp;</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">&nbsp;</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">
 
Dvdm vdm

dvdm vdm

26/09/2005 21:36:00
Quote Anchor link
dit is wat ik heb in php... vermoedelijk zit ik hier al te knoeien ...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$bla
=1;

  while($geg = mysql_fetch_assoc($qry)) {
  
?>

<tr class="bg' .$bla . '">
<td align="left">&nbsp;</td>
<td align="left">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $geg['totaalkm']; ?>
<div align="left"></div></td>
<td align="left">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $geg['totaalpunten']; ?>
<div align="left"></div></td>
<td align="left">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $geg['naam']; ?>
<div align="left"></div></td>
<td align="left">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $geg['voornaam']; ?>
</td>
<td align="left">
<div align="left"></div></td>
</tr>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
<? $bla=3-$bla; }  
?>

</table>
 
Jan Koehoorn

Jan Koehoorn

26/09/2005 21:39:00
Quote Anchor link
Ja, je variabele wordt gewoon afgedrukt, zie ik
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.