IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

tableau dynamique pas dynamique..


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 265
    Par défaut tableau dynamique pas dynamique..
    Bonjour

    J'ai un petit souci avec un tableau dynamique
    je voudrais que celui ci me liste les nom des fichiers dans un repertoire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    <?php
    if ($handle = opendir('doc')) {
        while (false !== ($file = readdir($handle))) 
            if ($file != "." && $file != "..") { 
     
    // $NbrLigne : le nombre de lignes
    // $NbrCol : le nombre de colonnes : calcul automatique
    // -------------------------------------------------------
    // (exemple)
    $NbrLigne = 8; 
     
    $tableau = array("$file");
     }
    }
     
    // -------------------------------------------------------
    // nombre de cellules a remplir
    $NbreData = sizeof($tableau);   
    // -------------------------------------------------------
    $NbrCol = 0;
     
    // affichage
    if ($NbreData != 0) {       
       $k = 0; // indice du tableau
       echo '<table><tr>';
       while ($k < $NbreData) {
          echo '<td valign="top">';
          echo '<table border="1">';
          for ($i=1; $i<=$NbrLigne; $i++) {
             if ($k < $NbreData) {
                echo '<tr><td>';
                // --------------------------------------
                // DONNEES A AFFICHER dans la cellule
                echo $tableau[$k];  
                // --------------------------------------
                echo '</td></tr>'; 
                $k++; 
             }  
             if ($i == $NbrLigne) {
                echo '</table>';
                echo '</td>';
             } 
          }  
          $NbrCol++;
       }  
       echo '</tr></table>';
    } else {
       echo 'pas de données à afficher';
    } 
     
    ?>
    le souci c'est que $file ne me retourne que le premier nom de fichier.. si je le remplace par '1','2','3'.. ca fonctionne tres bien..

  2. #2
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    tu réinitialises ta variable $tableau à chaque tour de boucle. C'est donc normal que tu n'aies qu'un element dans ton tableau.

    Essaie un truc dans ce genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $tableau = array();
    while () {
       $tableau[] = $file;
    }

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 265
    Par défaut
    ca me met une erreur..

  4. #4
    Membre émérite Avatar de micetf
    Homme Profil pro
    Professeur des Ecoles
    Inscrit en
    Mai 2009
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Professeur des Ecoles
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2009
    Messages : 557
    Par défaut
    Pour moi, ça marche parfaitement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <?php
    $tableau=array();
    if (is_dir('doc') && $handle = opendir('doc')) {
        while (false !== ($file = readdir($handle))) 
            if ($file != "." && $file != "..") { 
     
    // $NbrLigne : le nombre de lignes
    // $NbrCol : le nombre de colonnes : calcul automatique
    // -------------------------------------------------------
    // (exemple)
    $NbrLigne = 8; 
     
    $tableau[] = $file;
     }
    }
     
    // -------------------------------------------------------
    // nombre de cellules a remplir
    $NbreData = sizeof($tableau);   
    // -------------------------------------------------------
    $NbrCol = 0;
     
    // affichage
    if ($NbreData != 0) {       
       $k = 0; // indice du tableau
       echo '<table><tr>';
       while ($k < $NbreData) {
          echo '<td valign="top">';
          echo '<table border="1">';
          for ($i=1; $i<=$NbrLigne; $i++) {
             if ($k < $NbreData) {
                echo '<tr><td>';
                // --------------------------------------
                // DONNEES A AFFICHER dans la cellule
                echo $tableau[$k];  
                // --------------------------------------
                echo '</td></tr>'; 
                $k++; 
             }  
             if ($i == $NbrLigne) {
                echo '</table>';
                echo '</td>';
             } 
          }  
          $NbrCol++;
       }  
       echo '</tr></table>';
    } else {
       echo 'pas de données à afficher';
    } 
     
    ?>
    Fred

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 265
    Par défaut
    ha oui autant pour moi
    merci beaucoup!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. tableau croisé .. mais pas dynamique
    Par didier.cabale dans le forum Excel
    Réponses: 1
    Dernier message: 23/01/2008, 13h00
  2. char *, string et tableau statique ou dynamique
    Par salseropom dans le forum C
    Réponses: 2
    Dernier message: 05/12/2005, 12h33
  3. Réponses: 18
    Dernier message: 06/07/2005, 15h58
  4. [Reflection] Créer un tableau d'objets dynamiquement.
    Par salome dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 25/03/2005, 19h59
  5. Réponses: 23
    Dernier message: 21/08/2003, 08h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo