Scandir en maak tabel

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Johan

Johan

26/04/2007 15:11:00
Quote Anchor link
Ik gebruik onderstaande code om een directory uit te lezen en in een tabel te plaatsen. Dit werkt prima echter wordt alles onder elkaar geplaats. Ik zou graag willen dat bij iedere 5e keer in de array hij een nieuwe rij <TR> aanmaakt in de tabel.

Ik heb het geprobeerd te combineren met dit script maar dat liep uit op een constant doorgaande loop:

http://www.sitemasters.be/?pagina=tutorials/tutorials&cat=4&id=317

Mijn eigen stukje:

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
<?
    if(!function_exists ("scandir")){
        function
scandir ($dir){
            $open = opendir ($dir);
            $bestanden = array ();
            while ($read = readdir ($open)) {
                if($read != '.' && $read != '..' && $read != 'thumbs.db' && $read != 'Thumbs.db'){
                    $bestanden[] = $read;
                }
            }

            return $bestanden;
        }
    }

?>

<table width="100%"class="table"><tr>
<td width="100%" colspan="5" style="border-bottom:1px solid #D3D3D3"><b>Avatars</b></td>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?

  $dir
= scandir("./downloads/avatars");


  for($a=0; $a < count($dir); $a++){

   $c = $a+1;
   echo "<tr><td width=\"50%\"><img class=\"border\" src=\"downloads/avatars/".$dir[$a]."\"></td><td width=\"50%\">Avatar $c</td></tr>\n";

  }


?>

</table>

Wie wil mij alsjeblieft helpen?
Alvast bedankt!

ps. Kan iemand mij uitleggen hoe ik mijn array gesorteerd krijg, netjes op alfabet en van 1 to 9 inplaats van door elkaar?
 
PHP hulp

PHP hulp

13/01/2025 21:13:31
 
GaMer B

GaMer B

26/04/2007 15:55:00
Quote Anchor link
Een array sorteren: asort()
 
Johan

Johan

26/04/2007 16:04:00
Quote Anchor link
Ja harstikke bedankt dat is gelukt!! Wat stom dat ik dat zelf niet kan bedenken.

Wie kan mij helpen met het tabel probleem?
 
GaMer B

GaMer B

26/04/2007 16:13:00
Quote Anchor link
Ik denk dat je met modulo moet gaan werken.
 
Johan

Johan

26/04/2007 16:42:00
Quote Anchor link
Bedankt voor de tip!

Heb nu dit maar werkt niet vreemd genoeg:

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?
    if(!function_exists ("scandir")){
        function
scandir ($dir){
            $open = opendir ($dir);
            $bestanden = array ();
            while ($read = readdir ($open)) {
                if($read != '.' && $read != '..' && $read != 'thumbs.db' && $read != 'Thumbs.db'){
                    $bestanden[] = $read;
                }
            }

        sort ($bestanden);
    return $bestanden;
        }
    }


$dir = scandir("./downloads/avatars");

// Tabel beginnen
echo "<table width=\"100%\"class=\"table\">\n";
echo "\t<tr>\n";
echo "\t\t<td width=\"100%\" colspan=\"3\" style=\"border-bottom:1px solid #D3D3D3\"><b>Avatars</b></td>\n";

// De teller initialiseren
$i = 0;

// Door de afbeeldingen loopen
foreach( $dir as $dirs )
{

// Indien $i modulo 3 gelijk is aan nul de tabelrij eindigen en een nieuwe beginnen
// Dit geldt enkel wanneer $i groter is dan nul

if( ( $i % 3 ) == 0 and ( $i != 0 ) )
{

echo "\t</tr>\n";
echo "\t<tr>\n";
}


// Afbeelding weergeven in een tabelcel
echo "\t\t<td width=\"50%\"><img class=\"border\" src=\"downloads/avatars/".$dirs."\"></td><td width=\"50%\">Avatar $i</td>\n";

// Teller met één verhogen
$i++;
}

// Lege cellen opvullen:
if ( ( $i % 3 ) != 0 )
{

// Herhaaldelijk tabelcellen toevoegen.
echo str_repeat( "\t\t<td> </td>\n", ( 3 - ( $i % 3 ) ) );
}


// Tabel afmaken
echo "\t</tr>\n";
echo "</table>";
?>
 
Han eev

Han eev

26/04/2007 16:44:00
Quote Anchor link
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
<?PHP
$dir
= scandir("./downloads/avatars");
$i=1;
echo '<tr>';
foreach($dir as $filename) {

if($i % 3 == 0) {
echo '</tr><tr>';
}

echo "\t\t<td width=\"50%\"><img class=\"border\" src=\"downloads/avatars/".$dirs."\"></td><td width=\"50%\">Avatar $i</td>\n";
$i++;
}

echo '</tr>';
?>

Dit moet werken, denk ik ;)
Ik denk dat dit je wel gaat helpen
$i % 3 == 0, Als je die 3 veranderd naar 5 dan is het om de 5 regels.
Gewijzigd op 01/01/1970 01:00:00 door Han eev
 
Johan

Johan

26/04/2007 17:48:00
Quote Anchor link
Bedankt allemaal probleem opgelost!
 



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.