He all,

Ik ben een "nieuws" systeempje aan het bouwen, dit doet het best wel maar ik krijg steets:

1. Website geopent
1. ?niews
1. 10-1-10

2. test1
2. ?niews
2. 09-1-10

3. test2
3. ?niews
3. 08-1-10

Het zou eigenlijk een linkje worden:

1. Website geopent (linkje: ?niews1)
10-1-10

2. test1 (linkje: ?niews2)
09-1-10

3. test2 (linkje: ?niews3)
08-1-10

op volgorde van datum.

Code:
sidebar.php :

<div id="sidebar_text">
	<h2>Nieuws</h2>
	<?php 
	for($i=0; $i<count($Nieuws); $i++){ 
		echo("<br>");
		while(list(,$naam,,$url,,$date) = each($Nieuws[$i])) {
			echo "<a href='".$url."'><b>".$i.". ".$naam."</b></a><br>";
			echo $date;
		}
	}
	?>
</div>


news_config.php :

<?php
$Nieuws = array();

$Nieuws[1] = array();
$Nieuws[1]['TITEL']	= 'Website geopent';
$Nieuws[1]['URL']	= '?niews'.$i;
$Nieuws[1]['DATE']	= '10-1-10';

$Nieuws[2] = array();
$Nieuws[2]['TITEL']	= 'test1';
$Nieuws[2]['URL']	= '?niews'.$i;
$Nieuws[2]['DATE']	= '09-1-10';

$Nieuws[3] = array();
$Nieuws[3]['TITEL']	= 'test2';
$Nieuws[3]['URL']	= '?niews'.$i;
$Nieuws[3]['DATE']	= '08-1-10';

?>

kan iemand mij helpen???

Gr Marc
SanThe schreef op 10.01.2010 16:12
[quote='Marc schreef op 10.01.2010 16:09'][quote='SanThe schreef op 10.01.2010 16:04']Een datum in dit format kan niet gesorteerd worden.
Het format moet zijn yyyy-mm-dd.

enne uh.. waar zou ik deze moeten plaatsen in of voor de foreach();[/quote]
Deze vraag snap ik niet.[/quote]


<?php
	$nieuws_berichten = array();
	$nieuws_berichten[] = array('titel' => 'Website geopend', 'url' => '?nieuws=1', 'datum' => '2010-01-02');
	$nieuws_berichten[] = array('titel' => 'Bericht 2', 'url' => '?nieuws=2', 'datum' => '2010-01-09');
	
// hier >
	foreach($nieuws_berichten as $key => $nieuws) {
// hier >	
		$id = $key + 1;
		echo "<p>";
		echo $id.'. <a href="'.$nieuws['url'].'">'.$nieuws['titel'].'</a>';
		echo '<br />';
		echo $nieuws['datum'];
		echo '</p>';
	}
    ?>
Je zult moeten zorgen dat de data in de array in het yyyy-mm-dd formaat staan. Vervolgens zou je met [php]array_multisort[/php]() aan de slag kunnen gaan.

Maar op dit punt is het waarschijnlijk al verstandig om naar het gebruik van een database te gaan kijken. Die is er namelijk voor bedoeld om data in op te slaan en maakt het bijvoorbeeld zeer eenvoudig om de gegevens gesorteerd te selecteren...
<?php
function datumsort($a,$b)
{
return strcmp ($a['datum'],$b['datum']);
}

$nieuws_berichten = array();
$nieuws_berichten[] = array('titel' => 'Website geopend', 'url' => '?nieuws=1', 'datum' => '2010-05-02');
$nieuws_berichten[] = array('titel' => 'Bericht 2', 'url' => '?nieuws=2', 'datum' => '2010-01-09');

usort($nieuws_berichten, "datumsort"); //hier sorteren we

// hier >
foreach($nieuws_berichten as $key => $nieuws) {
// hier >
$id = $key + 1;
echo "<p>";
echo $id.'. <a href="'.$nieuws['url'].'">'.$nieuws['titel'].'</a>';
echo '<br />';
echo $nieuws['datum'];
echo '</p>';
}
?>
oke bedankt allemaal

Reageren