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 :

[Tableaux] Onclick - Sort By !


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 32
    Par défaut [Tableaux] Onclick - Sort By !
    Mon titre veut tout dire, comment pouvons nous activer une fonction ONCLICK sur les titres de mes tableaux pour que l'utilisateur puise faire un SORT BY comme bon lui semble. Par exemple, s'il veut voir la colonne BUTS en Croissant ou en décroissant ??

    Je ne suis pas sur, mais je crois qu'il faut ajouter du code JAVA ?

    Merci encore !

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    PHP ne fait pas ça à la base, il faut que tu crées des DataTable (je crois que c'est comme ça que l'on appelle ce genre de tableau en java orienté WEB).

    Si tu veux le faire en php, il va falloir créer ton code avec un lien ou autre

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 32
    Par défaut
    Ok, mais tu aurais une exemple de code avec un lien pour me donner une petite idée comment en venir à bout ??

    Merci bien,

    Guillaume

  4. #4
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Un lien comme ça en php, pas sous la main (si c'était Java )

    Mais bon vite fait tu peux faire quelque chose comme ceci :
    • Tu crées un lien dans le th voulu avec comme href le nom de la page plus les paramètres voulu. exemple : tu veux la date :href='mapge.php?method=nomduchamp&order=desc'. Bien sur il faudrait gérer la création dynamique du lien.
    • Au tout début de la page (disons de ton script où tu affiches le tableau) tu testes pour voir s'il y a une demande de tri et tu récupères les infos à mettre dans la requête.
    Voilà de quoi commencer.

    Ps : le lien tu peux mettre à la place une image pour faire plus jolie ou même les deux (mais il faudrait penser à cacher l'adresse dans le statusbar)

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 32
    Par défaut
    Merci bien, voici le résultat :

    http://www.flying-pickles.com/2006/Stats.php

    Par contre, il n'est pas parfait puisqu'il commence toujours par un ASC au lieu de définir ASC si c'est DESC et vice versa... y'a qqun qui a une idée ?

    Voici mon code :

    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
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    <title>Flying-Pickles.com - Site Officiel des légendaires cornichons volants</title>
    <link href="../page.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
    <?php
    $Ordre;
     
    if(isset($_GET["Ordre"]) && $_GET["Ordre"] != ""){
    	$Ordre = $_GET["Ordre"];
    }
     
    if(isset($_GET["Valeur"]) && $_GET["Valeur"] != ""){
    	if($_GET["Valeur"] == "DESC"){
    		$Valeur = "ASC";
    	}
    	else{
    		$Valeur= "DESC";
    	}
    }
    else{
    	$Valeur = "DESC";
    }
     
     
    ?>
    <table width="600" border="1" cellpadding="0" cellspacing="0">
      <tr bgcolor="#FF6600">
    	<?php
    	$ListeTitre = array();
    	$ListeTitre[0][0] = "Numero";
    	$ListeTitre[0][1] = "#";
    	$ListeTitre[1][0] = "NomFamille";
    	$ListeTitre[1][1] = "Nom des Joueurs";
    	$ListeTitre[2][0] = "Parties";
    	$ListeTitre[2][1] = "Parties";
    	$ListeTitre[3][0] = "s_buts";
    	$ListeTitre[3][1] = "Buts";
    	$ListeTitre[4][0] = "s_passes";
    	$ListeTitre[4][1] = "Passes";
    	$ListeTitre[5][0] = "Points";
    	$ListeTitre[5][1] = "Points";
    	$ListeTitre[6][0] = "moyenne";
    	$ListeTitre[6][1] = "PTS/PJ";
    	$ListeTitre[7][0] = "Punitions";
    	$ListeTitre[7][1] = "Punitions";
     
    	for($k=0;$k<8;$k++){		
    		if(isset($_GET["AOrdre"]) && $_GET["AOrdre"] == $ListeTitre[$k][0] || isset($_GET["Ordre"]) && $_GET["Ordre"] == $ListeTitre[$k][0]){
    			echo "<td align=\"center\"><a href=\"Stats.php?Ordre=". $ListeTitre[$k][0] ."&AOrdre=". $Ordre ."&Valeur=".$Valeur."\">". $ListeTitre[$k][1] ."</td>";		
    		}
    		else{
    			echo "<td align=\"center\"><a href=\"Stats.php?Ordre=". $ListeTitre[$k][0] ."&AOrdre=". $Ordre ."&Valeur=ASC\">". $ListeTitre[$k][1] ."</td>";	
    		}
    	}
     
    	?>
      </tr>
      <tr>
        <td colspan="9"><?PHP
     
    if ($Ordre == ""){
    	$Ordre = "points DESC, s_buts DESC, moyenne DESC";
    }
    else{
    	$Ordre = $Ordre ." ".$Valeur;
    }
     
    include ("../include/mysql_conf.php");
     
     
     
    $request = ("select t1.joueur_id, count(t1.Joueur_id) as Parties, sum(t1.buts) as s_buts, sum(t1.passes) as s_passes, (sum(t1.buts) + sum(t1.passes)) as points,  ((sum(t1.buts) + sum(t1.passes)) / count(t1.joueur_id)) as moyenne, sum(t1.Punitions) as s_punitions, t2.NomFamille, t2.Prénom, t2.Numero, t2.Equipe_id from Joueurs_Stats as t1 INNER JOIN Joueurs as t2 where t1.joueur_id=t2.id && t2.Equipe_id=1 && t1.saison_id=5 group by t1.joueur_id order by ".$Ordre);
     
     
    $result = mysql_query($request) or die ('erreur dans la requête : '.$request.'  '.mysql_error());
     
    while ($resultat = mysql_fetch_array($result))
     
    {
     
    echo'</td></tr><tr><td align="center" >';
    print $resultat['Numero'];
    echo'</td><td>';
    print $resultat['Prénom'];
    print '&nbsp;';
    print $resultat['NomFamille'];
    echo'</td>';
    echo'<td align="center">';
    print $resultat['Parties'];
    echo'</td><td align="center">';
    print $resultat['s_buts'];
    echo'</td><td align="center">';
    print $resultat['s_passes'];
    echo'</td><td align="center">';
    print $resultat['points'] ;
    echo'</td><td align="center">';
    print number_format($resultat['moyenne'],2);
    echo'</td><td align="center">';
    print number_format($resultat['s_punitions'],0);
    echo'</td></tr><tr><td colspan="9">';
     
    }
     
    mysql_close();
    ?>
    </table>

  6. #6
    Membre éprouvé
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Par défaut
    Citation Envoyé par Sparkle
    Par contre, il n'est pas parfait puisqu'il commence toujours par un ASC au lieu de définir ASC si c'est DESC et vice versa... y'a qqun qui a une idée ?
    J'ai pas compris.

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

Discussions similaires

  1. [Tableaux] Sort() alphabet tchèque
    Par ptitgraig dans le forum Langage
    Réponses: 1
    Dernier message: 02/03/2009, 13h59
  2. [Tableaux] faire une sorte de requete COUNT() dans un array
    Par mdr_cedrick dans le forum Langage
    Réponses: 4
    Dernier message: 01/04/2008, 11h49
  3. [Tableaux] Trier sort() des éléments 1a,1b,2a,2b
    Par poulet1212 dans le forum Langage
    Réponses: 4
    Dernier message: 07/02/2008, 13h01
  4. OnClick avec Tableaux imbriqués
    Par bondak dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 02/08/2007, 20h19
  5. [Tableaux] un sort qui trie mal
    Par Bibicmoi dans le forum Langage
    Réponses: 19
    Dernier message: 20/07/2006, 17h49

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