Hallo,
Ik ben momenteel bezig met een nieuwsberichten systeem. Nu vroeg ik me hoe ik de achtergrondkleur per even en oneven bericht kan afwisselen. Ik heb op internet veel gezocht maar de oplossing zat er helaas niet bij.
Hieronder de betreffende code:
<table border='0' cellspacing='1' width='96%' bgcolor='#000' align="center">
<tr>
<td class='top'>
Nieuws Berichten
</td>
</tr>
<?php
$sql = mysql_query("SELECT *, DATE_FORMAT(`date`, '%d-%m-%Y') AS `date` FROM `nieuws` ORDER BY `id` DESC LIMIT 0, 25") or die(mysql_error());
while($res = mysql_fetch_assoc($sql)){
?>
<tr>
<td class='inhoud'>
<span class='<?=$res['type']; ?>'><?=ucfirst($res['type']); ?>:</span> <span class='nieuwsitem'><?=$res['titel']; ?></span>
Alvast bedankt!
- Achtergrondkleur nieuwsberichten laten afwisselen (oneven en even).
-
12-01-2014, 15:29 #1
- Berichten
- 10
- Lid sinds
- 13 Jaar
Achtergrondkleur nieuwsberichten laten afwisselen (oneven en even).
-
In de schijnwerper
Linkvada.com Linkbuilding Platform: Direct Linkbuilden op 77.000+ premium domeinenLinkpartnersLaravel / Wordpress - Top kwaliteit voor een gunstig tariefFreelance / Werk[SNELLE LEVERING] Laat je website / webshop snel en professioneel bouwen!Freelance / Werk3d televisies hype komt er aan!Domein te koop -
12-01-2014, 15:31 #2
- Berichten
- 106
- Lid sinds
- 11 Jaar
Re: Achtergrondkleur nieuwsberichten laten afwisselen (oneven en even).
Kan met css only
http://www.w3.org/Style/Examples/007/evenodd
-
12-01-2014, 15:35 #3
- Berichten
- 10
- Lid sinds
- 13 Jaar
Re: Achtergrondkleur nieuwsberichten laten afwisselen (oneven en even).
Bedankt voor je snelle reactie!
Kan dit niet met PHP?
Css zou een oplossing zijn het enige nadeel is dat het stuk code vrijwel helemaal herschreven moet worden.
Is er geen mogelijkheid dat je met de php onderscheidt maakt in oneven id's en even id's in de database ?
-
12-01-2014, 17:30 #4
- Berichten
- 28
- Lid sinds
- 11 Jaar
Re: Achtergrondkleur nieuwsberichten laten afwisselen (oneven en even).
Voor onderscheiden kan jee proberen:
Code:if($res['id']/2==round($res['id']/2)) { //even } else { //oneven }
-
12-01-2014, 17:36 #5
- Berichten
- 1.004
- Lid sinds
- 17 Jaar
Re: Achtergrondkleur nieuwsberichten laten afwisselen (oneven en even).
Zoiets als dit lijkt me de beste oplossing.
Code:<!-- Before loop --> <?php $c = 0; ?> <!-- Start loop --> <tr class="<?=($c++%2==1) ? 'odd' : 'even' ?>"> <!-- End loop -->
-
12-01-2014, 18:27 #6
- Berichten
- 10
- Lid sinds
- 13 Jaar
Re: Achtergrondkleur nieuwsberichten laten afwisselen (oneven en even).
Ik heb het op deze manier geprobeerd maar helaas krijg ik dan een witte pagina te zien. Ik ben net begonnen met het leren van PHP vandaar misschien de amateuristische vragen :)
<? if($res['id']/2==round($res['id']/2);
{
<table border='0' cellspacing='1' width='96%' bgcolor='#000' align="center">
}
else
{
<table border='0' cellspacing='1' width='96%' bgcolor='#777' align="center">
}
?>
-
12-01-2014, 18:28 #7
- Berichten
- 10
- Lid sinds
- 13 Jaar
Re: Achtergrondkleur nieuwsberichten laten afwisselen (oneven en even).
Zou dit ook kunnen met <table> ipv <tr class> aangezien het een standaard benaming is in de css die op meerdere pagina's worden gebruikt..
-
12-01-2014, 18:29 #8
- Berichten
- 28
- Lid sinds
- 11 Jaar
Re: Achtergrondkleur nieuwsberichten laten afwisselen (oneven en even).
Probeer:
Code:<?php if($res['id']/2==round($res['id']/2); { echo "<table border='0' cellspacing='1' width='96%' bgcolor='#000' align='center'>"; } else { echo "<table border='0' cellspacing='1' width='96%' bgcolor='#777' align='center'>"; } ?>
Laatst aangepast door Sander Wolswijk : 12-01-2014 om 18:35
-
12-01-2014, 19:28 #9
- Berichten
- 10
- Lid sinds
- 13 Jaar
Re: Achtergrondkleur nieuwsberichten laten afwisselen (oneven en even).
Helaas nog steeds een witte pagina..
Nog een keer de hele code zoals hij nu is (met edit).
<?php
session_start();
ob_start();
include("./_menu_l.php");
?>
<?php
if($res['id']/2==round($res['id']/2);
{
echo "<table border='0' cellspacing='1' width='96%' bgcolor='#000' align='center'>";
}
else
{
echo "<table border='0' cellspacing='1' width='96%' bgcolor='#777' align='center'>";
}
?>
<tr>
<td class='top'>
Nieuws Berichten
</td>
</tr>
<?php
$sql = mysql_query("SELECT *, DATE_FORMAT(`date`, '%d-%m-%Y') AS `date` FROM `nieuws` ORDER BY `id` DESC LIMIT 0, 25") or die(mysql_error());
while($res = mysql_fetch_assoc($sql)){
?>
<tr>
<td class='inhoud'>
<span class='<?=$res['type']; ?>'><?=ucfirst($res['type']); ?>:</span> <span class='nieuwsitem'><?=$res['titel']; ?></span>
-
12-01-2014, 19:46 #10
- Berichten
- 1.004
- Lid sinds
- 17 Jaar
Re: Achtergrondkleur nieuwsberichten laten afwisselen (oneven en even).
Pff, als je al de helft van de scripting niet eens begrijpt. Het lijkt me heel simpel dat stukje wat ik je stuurde.
Waarom wil je tabel om en om, zijn het verschillende tabellen die je verschillende kleuren wilt geven? Of wil je nu rijen verschillende kleuren geven?
Als je tabellen verschillende classes wilt toewijzen, dan kom je op het volgende stukje script, en dit had je simpel zelf kunnen doen.
Code:<!-- Before loop --> <?php $c = 0; ?> <!-- Start loop --> <table class="<?=($c++%2==1) ? 'odd' : 'even' ?>" andermeuk="" border="" style=""> <!-- End loop -->
Misschien even een PHP boek lezen, en wat meer erin verdiepen. Dit is echt basiskennis.
Omdat het wel makkelijk kan zijn, hier een uitleg wat dit stukje doet.
Het enigste wat belangrijk is in dit stukje, is het zetten van een algemene 0 waarde, in dit geval $c. Om meerdere waardes te kunnen registreren is het van belang dit stukje:Code:<?=($c++%2==1) ? 'odd' : 'even' ?>
Je kan het stukje ook aanpassen, en dus kleurcodes inplakken, en dit zo in de tabel plakken as style="color: <?=$code?>"
Probeer:
Code:<?php if($res['id']/2==round($res['id']/2); { echo "<table border='0' cellspacing='1' width='96%' bgcolor='#000' align='center'>"; } else { echo "<table border='0' cellspacing='1' width='96%' bgcolor='#777' align='center'>"; } ?>
Efficient omgaan met je programmering.Laatst aangepast door Kevin I. : 12-01-2014 om 19:54
-
12-01-2014, 19:59 #11
- Berichten
- 10
- Lid sinds
- 13 Jaar
Re: Achtergrondkleur nieuwsberichten laten afwisselen (oneven en even).
Bedankt :) Ik denk dat een PHP boek lezen een goed idee is!
Het is 1 kolom waar een nieuwsbericht in wordt geplaatst. Elk nieuw nieuwsbericht wordt in een nieuwe kolom geplaatst.
-
12-01-2014, 20:04 #12
- Berichten
- 1.004
- Lid sinds
- 17 Jaar
Re: Achtergrondkleur nieuwsberichten laten afwisselen (oneven en even).
Oftewel, je wilt dus elke "RIJ" van kleur veranderen, dan moet je dus de TR class aanpassen.
Dan is dus het eerste stukje precies wat je nodig hebt. Haal het kopje Nieuws berichten uit de tabel, maak er een schone tabel van zoiets als dit
Code:<h3>Nieuwsberichten</h3> <table> <?php $c = 0; while($res = fetch_assoc){ ?> <tr style="backround-color: <?=($c++%2)==1) ? '#FFF' : '#333' ?>;"> <td>$res['titel']</td> </tr> <?php } ?> </table>
-
18-01-2014, 22:25 #13
- Berichten
- 10
- Lid sinds
- 13 Jaar
Re: Achtergrondkleur nieuwsberichten laten afwisselen (oneven en even).
Inmiddels is het gelukt, bedankt!
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic