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 :

Besoin d'ajouter la pagination


Sujet :

Langage PHP

  1. #1
    Membre averti
    Homme Profil pro
    zebi
    Inscrit en
    Septembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Albanie

    Informations professionnelles :
    Activité : zebi

    Informations forums :
    Inscription : Septembre 2014
    Messages : 13
    Par défaut Besoin d'ajouter la pagination
    bonjour tout le monde
    j'ai une question je veux classé les dossier par date et ajouté de la pagination
    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
    <table width='100%' border='0'>
    <?php
    $gr = "music/Musique-Maghreb/";
    $gr="music/$cat/";
    $rep=opendir($gr);
    $c=1;
    while ($file = readdir($rep)){
    	if($file != '..' && $file !='.' && $file !=''){ 
    if (file_exists("images/$file.jpg")) {
    $img="images/$file.jpg";
    } else {
    $img="images/nophoto.jpg";
    }
    if ($c==1) {
    echo "<tr>";
    }
    ?>
    <?php echo $file;?>
    </tr>
                  <TR>
    <tr>
        <td>
     
    </td>
    </tr>
    </tbody>
    </table><?php
    if($c==5) {
    echo "</tr>";
    $c=0;
    }
    $c++;
    }
    }
     
    closedir($rep);
    clearstatcache();
    ?>
     
    </td>
    </center></div>
    </table>

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Trier par date ? quelle date ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre averti
    Homme Profil pro
    zebi
    Inscrit en
    Septembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Albanie

    Informations professionnelles :
    Activité : zebi

    Informations forums :
    Inscription : Septembre 2014
    Messages : 13
    Par défaut
    je veux classé les nouveux doosier plus lancien et je veux la pagination
    merci d'avance

  4. #4
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 60
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    C'est fouillis ton code.
    Commence par séparer ton traitement et tout ranger dans une fonction qui te retourne un tableau php, tu feras de l'affichage en dernier.

    Tu veux classer quoi ? Essaie aussi de dire clairement ce que tu veux.

    Teste-ça déjà...

    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
    function retourneListingImages($cat){
    	$gr="music/$cat/";
    	$listing=array();
    	if (is_dir($gr)) {
    		if($rep=opendir($gr)){
    			while (($file = readdir($rep)) !== false) {
    				if($file != '..' && $file !='.' && $file !=''){ 
    					array_push($listing,"images/$file.jpg");
    				} 
    				else {
    					array_push($listing,"images/nophoto.jpg");
    				}
    			}
    			closedir($rep);
    		}
    	}
    	return $listing;
    }
     
    $imgs=retourneListingImages('Musique-Maghreb');
    echo '<pre>';
    print_r($imgs);
    echo '</pre>';
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  5. #5
    Membre averti
    Homme Profil pro
    zebi
    Inscrit en
    Septembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Albanie

    Informations professionnelles :
    Activité : zebi

    Informations forums :
    Inscription : Septembre 2014
    Messages : 13
    Par défaut
    je veux lister les dossier par dernier modification et ajouté la pagination
    la je voix que vous avez lister les images je veux liste les nom de dossier par dernier modification
    just les dossier
    merci d'avance

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Pour récupérer la date de dernière modification, tu as filemtime.
    Pour les dossiers, is_​dir te permet de déterminer si c'est un dossier ou non.

    Donc le plus simple est de parcourir ton dossier parent, si le fichier lu est un dossier l'ajouter à une liste avec sa date et trier la liste sur la date.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  7. #7
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 60
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Ouf, j'ai enfin réussi.
    usort avec une fonction callback.
    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
    function retourneContenu($pathToDir){
    	$listing = scandir($pathToDir);
    	$tab=array();
    	$i=0;
    	if(sizeof($listing)>0){
    		foreach($listing as $row){
    			if($row!='.' && $row!='..'  && is_dir($pathToDir.'/'.$row)){
    				$tab[$i]['rep']=$row;
    				$tab[$i]['modif']=filemtime($pathToDir.'/'.$row);
    				$i++;
    			}
    		}
    	}
    	usort($tab,'cmp');
    	return $tab;
    }
    function cmp($a, $b){
        if ($a['modif']>$b['modif']) {
            return -1;
        }
        return 1;
    }
    $foo=retourneContenu('absolute/path/to/dir');
    echo '<pre>';
    print_r($foo);
    echo '</pre>';
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  8. #8
    Membre averti
    Homme Profil pro
    zebi
    Inscrit en
    Septembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Albanie

    Informations professionnelles :
    Activité : zebi

    Informations forums :
    Inscription : Septembre 2014
    Messages : 13
    Par défaut
    Merci d'avance Dendrite et Celira
    j'aii esseyer le script ca marche merci
    j'ai un autre qestion comment ajouté la pagaination

  9. #9
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Ben, il te faut un n° de page et un nombre d'éléments par page. L'affichage se fait uniquement sur les éléments correspondants.

    Genre en reprenant la fonction de Dendrite :

    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
    $nbParPages = 5;
    $numeroPage = 2; // par exemple, on va afficher la page 2
     
    $dossiers = retourneContenu('absolute/path/to/dir');
     
    $indexDebut = $numeroPage*$nbParPages;
    $indexFin = $indexDebut + $nbParPages;
     
    echo '<ul>';
    for($i = $indexDebut;$i < $indexFin; $i++) {
        if (isset($dossiers[$i-1])) {
            echo '<li>'.$dossier[$i-1]['rep'].'</li>';
        }
    }
    echo '</ul>';
    EDIT : oups, ch'tite coquille corrigée.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  10. #10
    Membre averti
    Homme Profil pro
    zebi
    Inscrit en
    Septembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Albanie

    Informations professionnelles :
    Activité : zebi

    Informations forums :
    Inscription : Septembre 2014
    Messages : 13
    Par défaut
    je pense c'est la version final mais un error s'affiche

    Parse error: syntax error, unexpected T_FOR, expecting ',' or ';' in C:\AppServ\www\one\cate.php on line 34
    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
    <?php
    $gr = "music/Musique-Maghreb/";
    function retourneContenu($pathToDir){
    	$listing = scandir($pathToDir);
    	$tab=array();
    	$i=0;
    	if(sizeof($listing)>0){
    		foreach($listing as $row){
    			if($row!='.' && $row!='..'  && is_dir($pathToDir.'/'.$row)){
    				$tab[$i]['rep']=$row;
    				$i++;
    			}
    		}
    	}
    	usort($tab,'cmp');
    	return $tab;
    }
    function cmp($a, $b){
        if ($a['modif']>$b['modif']) {
            return -1;
        }
        return 1;
    }
     
    $nbParPages = 5;
    $numeroPage = 2; // par exemple, on va afficher la page 2
     
    $dossiers = retourneContenu($gr);
     
    $indexDebut = $numeroPage*$nbParPages;
    $indexFin = $indexDebut + $nbParPages;
     
    echo '<ul>'
    for($i = $indexDebut;$i < $indexFin; $i++) {
        if (isset($dossiers[$i-1])) {
            echo '<li>'.$dossier[$i-1]['rep'].'</li>';
        }
    }
    echo '</ul>';
    ?>

  11. #11
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Ah oui, effectivement, il y avait une coquille dans mon code.
    Cela dit, tu as le droit de ne pas copier-coller bêtement le code qu'on te donne et de chercher un peu.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  12. #12
    Membre averti
    Homme Profil pro
    zebi
    Inscrit en
    Septembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Albanie

    Informations professionnelles :
    Activité : zebi

    Informations forums :
    Inscription : Septembre 2014
    Messages : 13
    Par défaut
    finalment j'arrive aclasse l dossier par date
    j'ai besoin de pagination merci avous
    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    <table width='100%' border='0'>
     
    <?php 
        $cat=$_GET['c'];
    	$c=1;
        function Sort_Directory_Files_By_Last_Modified($dir, $sort_type = 'descending', $date_format = "F d Y H:i:s.")
        {
        $files = scandir($dir);
        $array = array();
    	$pages = array_chunk($array, 5);
        foreach($files as $file)
        {
        if($file != '.' && $file != '..')
        {
        $last_modified = filemtime($dir.$file);
        $array[] = array('file' => $file,
        'timestamp' => $last_modified,
        'date' => date ($date_format, $last_modified),
        'time_passed' => $time_passed_array);
        }
        }
        usort($array, create_function('$a, $b', 'return strcmp($a["timestamp"], $b["timestamp"]);'));
        if($sort_type == 'descending')
        {
        krsort($array);
        }
        return array($array, $sort_type);
        }    
        $dir = "music/$cat/";
        $array = Sort_Directory_Files_By_Last_Modified($dir); 
        $info = $array[0];
        $sort_type = $array[1];
        foreach($info as $key => $detail)
        {
     
    	    $oujda = $detail['file'];
    		if ($c==1) {
    echo "<tr>";
    }
     
    ?>
    <?php 
    if (file_exists("images/$oujda.png")) {
    $img="images/$oujda.png";
    } else {
    $img="images/nophoto.jpg";
    }   
    if ($c==1) {
    echo "<tr>";
    }
    print("
    <td><DIV align=center>
    <a href='?p=show&g=$file&c=$cat'><img border='0' src='$img' width='140' height='150' alt='$oujda mp3'></a>
    
    <TABLE cellSpacing=0 cellPadding=1 width='140' align=center 
    border=0>
                  <TBODY>
    <TD dir=rtl align=center width=100% bgColor=#000000 height=25>
    <a href='?p=show&g=$file&c=$cat'><small style='color: rgb(255, 255, 255);'><span
     style='font-family: Segoe Print; font-weight: bold;'>$oujda</span></small>
    </a>
    </TD></TR>
                  <TR>
    <tr>
        <td>
    
    </td>
    </tr>
    </tbody>
    </table>
    <br>
    ");
    if($c==5) {
    echo "</tr>";
    $c=0;
    }
    $c++;
    }
    ?>

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/02/2009, 21h14
  2. Réponses: 7
    Dernier message: 12/02/2009, 11h55
  3. Réponses: 3
    Dernier message: 18/07/2008, 12h17
  4. [MySQL] Besoin d'aide pour géré pagination et sql
    Par toams69 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 30/05/2008, 17h37

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