array probleem
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 :
Code (php)
news_config.php :
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?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';
?>
$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
Gewijzigd op 01/01/1970 01:00:00 door Marc Hagen
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...
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
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...
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 :
Code (php)
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.
Gewijzigd op 01/01/1970 01:00:00 door Marc Hagen
Je moet het array() ook vullen met een loop om de $i mee te laten oplopen.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?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>';
}
?>
$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.
10-1-10 eerst
09-1-10 tweede
zou ik hier dan usort(); voor gebruiken?
Gewijzigd op 01/01/1970 01:00:00 door Marc Hagen
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?
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:
Een datum in dit format kan niet gesorteerd worden.
Het format moet zijn yyyy-mm-dd.
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?
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.
enne uh.. waar zou ik deze moeten plaatsen in of voor de foreach();
Marc schreef op 10.01.2010 16:09:
enne uh.. waar zou ik deze moeten plaatsen in of voor de foreach();
SanThe schreef op 10.01.2010 16:04:
Een datum in dit format kan niet gesorteerd worden.
Het format moet zijn yyyy-mm-dd.
Het format moet zijn yyyy-mm-dd.
enne uh.. waar zou ik deze moeten plaatsen in of voor de foreach();
Deze vraag snap ik niet.
SanThe schreef op 10.01.2010 16:12:
Deze vraag snap ik niet.
Marc schreef op 10.01.2010 16:09:
enne uh.. waar zou ik deze moeten plaatsen in of voor de foreach();
SanThe schreef op 10.01.2010 16:04:
Een datum in dit format kan niet gesorteerd worden.
Het format moet zijn yyyy-mm-dd.
Het format moet zijn yyyy-mm-dd.
enne uh.. waar zou ik deze moeten plaatsen in of voor de foreach();
Deze vraag snap ik niet.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?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>';
}
?>
$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>';
}
?>
array_multisort() 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...
Je zult moeten zorgen dat de data in de array in het yyyy-mm-dd formaat staan. Vervolgens zou je met 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...
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?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>';
}
?>
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