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 :

PHP tableau tri des lignes


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2016
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2016
    Messages : 65
    Points : 53
    Points
    53
    Par défaut PHP tableau tri des lignes
    Bonjour,
    à l'aide de ce tuto j'ai réussi à paginer mon tableau,

    maintenant je cherche une solution pour trier les lignes du tableau
    j'ai donc créé une variable $ColSel que j'ai inséré dans la fonction SQL
    Malheureusement je ne trouve pas la solution pour modifier la valeur de $ColSel seulement lorsque je clique sur le <a href correspondant,
    j'ai essayé en remplaçant $ColSel par $_SESSION['ColSel'] afin que la valeur soit conservée lors de la recharge de la page - est-ce à conserver?
    mais comment modifier la valeur de $_SESSION['ColSel'] seulement lorsque je clique sur <a href correspondant? via AJAX? via un if(isset....?
    si qqun pouvait m'aider svp
    merci

    Nota: j'ai trouvé un exemple (ci-dessus) avec __doPostBack mais je n'ai rien trouvé sur le net concernant cette fonction et ça ne fonctionne pas!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="javascript:__doPostBack('ctl00$ctl00$cph$gv$ctl02$Activite_Poste&amp;desc','')"><img src="images/order_down.png"/></a>
    code du tuto repris
    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
     
    <html>
    <head>
    <title>Exemple de pagination automatique sur un livre d or</title>
    </head>
    <body>
    <?php
    //Connexion à la base de données
    mysql_connect('serveur', 'utilisateur', 'motdepasse');
    mysql_select_db('basededonnees');
     
    $messagesParPage=5; //Nous allons afficher 5 messages par page.
     
    //Une connexion SQL doit être ouverte avant cette ligne...
    $retour_total=mysql_query('SELECT COUNT(*) AS total FROM livredor'); //Nous récupérons le contenu de la requête dans $retour_total
    $donnees_total=mysql_fetch_assoc($retour_total); //On range retour sous la forme d'un tableau.
    $total=$donnees_total['total']; //On récupère le total pour le placer dans la variable $total.
     
    //Nous allons maintenant compter le nombre de pages.
    $nombreDePages=ceil($total/$messagesParPage);
     
    if(isset($_GET['page'])) // Si la variable $_GET['page'] existe...
    {
         $pageActuelle=intval($_GET['page']);
     
         if($pageActuelle>$nombreDePages) // Si la valeur de $pageActuelle (le numéro de la page) est plus grande que $nombreDePages...
         {
              $pageActuelle=$nombreDePages;
         }
    }
    else // Sinon
    {
         $pageActuelle=1; // La page actuelle est la n°1
         $ColSel = 'id ASC' -> ligne rajouter dans le tuto de base pour trier les lignes,     
    }
     
    $premiereEntree=($pageActuelle-1)*$messagesParPage; // On calcul la première entrée à lire
     
    // La requête sql pour récupérer les messages de la page actuelle.
    $retour_messages=mysql_query('SELECT * FROM livredor ORDER BY '.$ColSel.' LIMIT '.$premiereEntree.', '.$messagesParPage.'');
     
    while($donnees_messages=mysql_fetch_assoc($retour_messages)) // On lit les entrées une à une grâce à une boucle
    {
         //Je vais afficher les messages dans des petits tableaux. C'est à vous d'adapter pour votre design...
         //De plus j'ajoute aussi un nl2br pour prendre en compte les sauts à la ligne dans le message.
         echo '<table width="400" border="0" align="center" cellpadding="0" cellspacing="0">
                    <tr>
                         <td><strong>Ecrit par : '.stripslashes($donnees_messages['pseudo']).'</strong></td>
                    </tr>
                    <tr>
                         <td>'.nl2br(stripslashes($donnees_messages['message'])).'</td>
                    </tr>
                </table><br /><br />';
        //J'ai rajouté des sauts à la ligne pour espacer les messages.   
    }
     
    echo '<p align="center">Page : '; //Pour l'affichage, on centre la liste des pages
    for($i=1; $i<=$nombreDePages; $i++) //On fait notre boucle
    {
         //On va faire notre condition
         if($i==$pageActuelle) //Si il s'agit de la page actuelle...
         {
             echo ' [ '.$i.' ] '; 
         }	
         else //Sinon...
         {
              echo ' <a href="livredor.php?page='.$i.'">'.$i.'</a> ';
         }
    }
    echo '</p>';
    ?>
    </body>
    </html>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    modifier la valeur de $ColSel seulement lorsque je clique sur le <a href correspondant,
    Si tu cherches une solution en PHP avec un lien href, il faut justement mettre ta valeur de ColSel en paramètre dans ton lien.
    Si tu cherches quelque chose de plus dynamique, il faut de tourner vers javascript.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,


  4. #4
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2016
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2016
    Messages : 65
    Points : 53
    Points
    53
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Si tu cherches une solution en PHP avec un lien href, il faut justement mettre ta valeur de ColSel en paramètre dans ton lien.
    Si tu cherches quelque chose de plus dynamique, il faut de tourner vers javascript.
    Bonjour sabotage,
    accepterai-tu de m'aiguiller plus via qq lignes de codes ou m'indiquer un lien vers un codage que je comprenne plus concrètement?
    comment concrètement je mets la valeur Colsel en paramètre de mon lien? sachant que le php va me le prendre en compte lors du chargement de ma page?
    concrètement que signifie me tourner vers JS?


    je regarde avec AJAX

    espérant ton aide
    cdlt

Discussions similaires

  1. Tri des lignes et colonnes d'une crosstab de Jasper
    Par flamant dans le forum Jasper
    Réponses: 1
    Dernier message: 02/02/2012, 15h25
  2. mettre un flash sur un script php et sauter des lignes
    Par jojo_ol76 dans le forum Débuter
    Réponses: 1
    Dernier message: 02/01/2008, 09h24
  3. trié des lignes ireport
    Par c+cool dans le forum iReport
    Réponses: 1
    Dernier message: 26/10/2007, 10h09
  4. [PHP-JS] Supprimer des lignes "checked" en php
    Par fdu63 dans le forum Langage
    Réponses: 7
    Dernier message: 19/10/2007, 17h49
  5. Tri des lignes d'une Table via Formulaire
    Par kato dans le forum Access
    Réponses: 3
    Dernier message: 19/04/2006, 12h53

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