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
Er gaan een aantal dingen fout. Allereerst ziet ik je in news_config.php nergens de variabele $i aanmaken of veranderen. De urls zullen dus nergens kloppen. Verder zou je het uitlezen van de array beter met een foreach loop kunnen doen.

Zie ook deze link voor een uitleg over het werken met arrays in PHP.

ps. Haal variabelen ook altijd buiten quotes, dat vergeet je nu nog...
En wat is het probleem?
Blanche schreef op 10.01.2010 15:21
Er gaan een aantal dingen fout. Allereerst ziet ik je in news_config.php nergens de variabele $i aanmaken of veranderen. De urls zullen dus nergens kloppen. Verder zou je het uitlezen van de array beter met een foreach loop kunnen doen.

Zie ook deze link voor een uitleg over het werken met arrays in PHP.

ps. Haal variabelen ook altijd buiten quotes, dat vergeet je nu nog...


Varabelen zijn buiten de quotes.

Ik ik het goed begrijp gebruik im dus Multidimensionale arrays?

Maar is ik dus :

<?php
for($i=0; $i<count($Nieuws); $i++){ 
  foreach($Nieuws as $id => $linkje) { 
    echo '<b>'.$id.'</b><br />'; 
    foreach($linkje as $link){ 
      echo $link.'<br />'; 
    }
  }
}
?> 


Gebruik kom het 9 keer testaan in precies de delfde volg orde als in mijn eerste post.

SanThe schreef op 10.01.2010 15:24
En wat is het probleem?


Sorry had ik nog niet in mijn eerste post gezet nu wel.
Je moet het array() ook vullen met een loop om de $i mee te laten oplopen.

<?php
for($i=0; $i<count($Nieuws); $i++){ 
  foreach($Nieuws as $id => $linkje) { 
    echo '<b>'.$id.'</b><br />'; 
    foreach($linkje as $link){ 
      echo $link.'<br />'; 
    }
  }
}
?> 


Zo dus?
Voorbeeldje:
<?php
$nieuws_berichten = array();
$nieuws_berichten[] = array('titel' => 'Website geopend', 'url' => '?nieuws=1', 'datum' => '2010-01-10');
$nieuws_berichten[] = array('titel' => 'Bericht 2', 'url' => '?nieuws=2', 'datum' => '2010-01-10');

foreach($nieuws_berichten as $key => $nieuws) {
$id = $key + 1;

echo '<p>';

echo $id.'. '.$nieuws['titel'].' (<a href="'.$nieuws['url'].'">Linkje</a>)';
echo '<br />';
echo $nieuws['datum'];

echo '</p>';
}
?>
Een nettere manier zou zijn om in HTML <ol> te gebruiken voor een genummerde lijst, op die manier hoef je niet zelf te bepalen welk nummer het is.
is ook nog de bedoeling om het op datum te laten staan.

10-1-10 eerst
09-1-10 tweede

zou ik hier dan usort(); voor gebruiken?
Marc schreef op 10.01.2010 16:00
is ook nog de bedoeling om het op datum te laten staan.

10-1-10 eerst
09-1-10 tweede

zou ik hier dan usort(); voor gebruiken?

Een datum in dit format kan niet gesorteerd worden.
Het format moet zijn yyyy-mm-dd.
SanThe schreef op 10.01.2010 16:04
[quote='Marc schreef op 10.01.2010 16:00']is ook nog de bedoeling om het op datum te laten staan.

10-1-10 eerst
09-1-10 tweede

zou ik hier dan usort(); voor gebruiken?

Een datum in dit format kan niet gesorteerd worden.
Het format moet zijn yyyy-mm-dd.[/quote]

enne uh.. waar zou ik deze moeten plaatsen in of voor de foreach();
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.

Reageren