Event list - sorteer op alfabet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Thomas P

Thomas P

04/04/2011 19:09:48
Quote Anchor link
Goede avond,

Ik wil een eventlist maken waarbij ik in agenda/posts verschillende bestanden heb staan met bijvoorbeeld de volgende code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$post_title
= "evenement";
$post_content = "omschrijving van het evenement";
$post_day = "04";
$post_month = "04";
$post_year = "2011";
?>


bestandsnaam van bovenstaande code is altijd YYYYMMDD_title.php
dus hierbij is het 20110404_evenement.php


deze wil ik opvragen met agenda_include.php:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
$dir
= opendir('agenda/posts');
while (false !== ($file = readdir($dir))) {
       if(($file !== ".") and ($file !== "..") and ($file !== "new")) {
               include ('agenda/posts/'.$file);
               echo '
                <table>
                <tr>
                <td width="100">
                <strong>'
.$post_day.'-'.$post_month.'-'.$post_year.'</strong>
                </td>
                <td>
                '
.$post_title.'
                </td>
                </tr>
                <tr>
                <td>&nbsp;</td>
                <td>
                <em>'
.$post_content.'</em>
                </td>
                </tr>
                </table>
                '
;
       }
   }

?>




maar hoe krijg ik het nu voor elkaar dat het op alfabetische volgorde is?
 
PHP hulp

PHP hulp

15/01/2025 14:55:23
 
Noppes Homeland

Noppes Homeland

04/04/2011 19:18:56
Quote Anchor link
waarom zit je te kutten met opendir / readdir

Zoek op php.net eens de juiste functie op!
 
Thomas P

Thomas P

04/04/2011 19:35:06
Quote Anchor link
ik heb wat gevonden over sort array.
wat ik nu zo uitprobeer werkt het niet:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
$handle
=opendir("agenda/posts");
$files = array();
while (false!==($file = readdir($handle))) $files[] = $file;  
closedir($handle);
 
sort($files);
 
echo'
                <table>
                <tr>
                <td width="100">
                <strong>'
.$post_day.'-'.$post_month.'-'.$post_year.'</strong>
                </td>
                <td>
                '
.$post_title.'
                </td>
                </tr>
                <tr>
                <td>&nbsp;</td>
                <td>
                <em>'
.$post_content.'</em>
                </td>
                </tr>
                </table>
                '
;
?>
 
Arjan -

Arjan -

04/04/2011 19:38:54
Quote Anchor link
Gebruik glob in php om door bestanden in een map te lopen.

Sorteer de geretourneerde array op alfabet ( sort() ). Loop vervolgens door de array om de gegevens in de bestanden op te vragen.

Dus:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$files
= glob('*.*');

sort($files);

foreach($files AS $filename) { ... }
?>
Gewijzigd op 04/04/2011 19:56:28 door Arjan -
 
Thomas P

Thomas P

04/04/2011 19:52:54
Quote Anchor link
Ik heb het volgende code nu gebruikt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
foreach (glob("agenda/posts/*.php") as $file){
               include ($file);
               echo '
                <table>
                <tr>
                <td width="100">
                <strong>'
.$post_day.'-'.$post_month.'-'.$post_year.'</strong>
                </td>
                <td>
                '
.$post_title.'
                </td>
                </tr>
                <tr>
                <td>&nbsp;</td>
                <td>
                <em>'
.$post_content.'</em>
                </td>
                </tr>
                </table>
                '
;

   }

?>


en zo te zien werkt hij nu zoals ik het wil

bedankt arjan
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.