array probleem
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 :
news_config.php :
kan iemand mij helpen???
Gr Marc
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
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...
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
En wat is het probleem?
'Blanche:
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:
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.
Voorbeeldje:
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.
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.
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?
Gewijzigd op 01/01/1970 01:00:00 door Marc Hagen
'Marc:
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:
Een datum in dit format kan niet gesorteerd worden.
Het format moet zijn yyyy-mm-dd.
'Marc:
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:
enne uh.. waar zou ik deze moeten plaatsen in of voor de foreach();
'SanThe:
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:
Deze vraag snap ik niet.
'Marc:
enne uh.. waar zou ik deze moeten plaatsen in of voor de foreach();
'SanThe:
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>';
}
?>
Je zult moeten zorgen dat de data in de array in het yyyy-mm-dd formaat staan. Vervolgens zou je met 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...
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




