Hallo.

Ik heb op mijn site een bericht systeem, zodat gebruikers met elkaar kunnen praten.
Maar nu wil ik op de pagina Postvak in alle berichten onder elkaar ziet.
Dat kan ik, maar nu wil ik dat ze omstebeurt 2 kleuren wisselen, zodat ze makkelijker uitelkaar te houden zijn.

Ik heb wel geprobeerd met even of oneven id, maar daar gaat niet omdat alle berichten van iedere gebruiker in dezelfde tabel komt.

Kan iemand mij hiermee helpen?
Een tellertje mee laten lopen en in de while controleren of het geval even of oneven is, aan de hand daarvan de kleur bepalen.
waar een tellertje? In de tabel van de gebruikers, hoeveel berichten ze hebben ontvangen/verzonden ofzo?
Bij het weergeven van de berichten, onder elkaar zet je aan het begin $count = 0;
Dan controleer je in de while zelf of de waarde positief of negatief, als de waarde positief is plaats je de ene kleur code, anders de andere. Aan het eind van while (nog wel er binnen) zet je $count++; om dat teller door te laten lopen.
Voorbeeld:

<?php

for($i = 1; $i <= 10; $i++)
{
	echo ($i & 1) ? '#000' : '#FFF';
}
GaMer13: daar komt dit uit als echo #000#FFF#000#FFF#000#FFF#000#FFF#000#FFF1#000#FFF#000#FFF#000#FFF#000#FFF#000#FFF1#000#FFF#000#FFF#000#FFF#000#FFF#000#FFF1 dus dat betekend waarschijnlijk niet veel goeds!

Raymond: Als ik nu na de $count++ een echo $count; doe dan staat er 111

en de kleur van de berichten blijft de standaard kleur...
Zucht, Jelmer. Dat moet je natuurlijk zelf wel omzetten in je eigen iets he:

Neem nou bijvoorbeeld zoiets:

<table>
<?php
while($row = mysql_fetch_assoc($res))
{
    echo '<tr class="' . ($row['id'] & 1) ? 'zwart' : 'wit' . '">';
    echo '<td>' . $row['naam'] . '</td>';
    echo '<td>' . $row['email'] . '</td>';
    echo '</tr>';
}
?>
</table>


Dan krijg je om en om:
<tr class="zwart"></tr>
<tr class="wit"></tr>
<tr class="zwart"></tr>

En dat doe je dan met CSS stylen.
ik heb (ook met mn css bestand) een tabelletje proberen te maken, maar nu staat er gewoon boven de tabel zwartzwartzwart terwijl er 3 rows zijn er dan zou er waarschijnlijk wel wat kleurverschil moeten zijn...

dit staat er nu...
(natuurlijk hierboven wel database selecteren enzo......)
<?php
while($r=mysql_fetch_array($result))
{

echo '<tr class="' . ($r['id'] & 1) ? 'zwart' : 'wit' . '">';
echo '<td> '.$r['id'].'</td>';
echo '<td>' . $r['username'] . '</td>';
echo '<td>' . $r['date'] . '</td>';
echo '</tr>';
}
?>
Moeten nog haakjes bij.
Zo dus.<?php
while($r=mysql_fetch_array($result))
{

echo '<tr class="' . (($r['id'] & 1) ? 'zwart' : 'wit') . '">';
echo '<td> '.$r['id'].'</td>';
echo '<td>' . $r['username'] . '</td>';
echo '<td>' . $r['date'] . '</td>';
echo '</tr>';
}
?>
Was een paar haakjes vergeten. Het moet zijn:

echo '<tr class="' . (($r['id'] & 1) ? 'zwart' : 'wit') . '">';
oke, het zwartzwartzwart gedoe is weg... nu alleen nog het probleem dat ik veel te weinig kennis heb van CSS, dus dat lukt niet echt.

Ik heb een heel klein standaard css bestandje, waar kleuren en lettertypen instaat voor links en gewone tekst, maar meer heb ik niet!

Kan iemand mij even dat stukje css geven/verbeteren..?

tr.zwart(background-color:#000000;}
tr.oranje(background-color:#FF8040;}

ik ga nu ook zeker proberen mijn css te verbeteren!

Reageren