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 :

Les intitulés de mes colonnes disparaissent après le tri


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut Les intitulés de mes colonnes disparaissent après le tri
    Bonjour tout le monde,

    Je trie mes colonnes de mon tableau, tout ce passe bien.

    J'ai voulu sécuriser le $_GET['Sort'] mais je rencontre quelques difficultés :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if((isset($_GET['Sort'])) && (in_array($tri,$Tableau_Noms_Des_Champs)) || ($_GET['Sort'] == "" ))
    Ce code fonctionne (sans doute car je ne sais pas comment contourner un Get pour tester)

    Le tri ce fait, mais après le nom des colonnes disparaissent.

    Voici l'entierté de 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
    <!--Si la variable de type get à une information ou si la variable de session LaTable à une donnée alors on fait tout cela-->
    <?php if((isset($_GET['select_Nom_Tables'])) OR (isset($_SESSION['LaTable']))){ ?>
    <table border="1" id="TableauUpdate">
    <?php
    //Je crée une variable de session ici afin que le nom de la table puisse etre utilisé dans le script "Mettre a jour".
    if(isset($_GET['select_Nom_Tables'])) {
    $table = $_GET['select_Nom_Tables'];
    } else {
    $table = $_SESSION['LaTable'];
    }
    $_SESSION['LaTable'] = $table;
     
     
    //si je clic sur un nom de champ, une valeur get se met dans l'adresse 
    if(isset($_GET['Sort'])) {
    $tri = "ORDER BY ".$_GET['Sort'];
    } else {
    $tri = "";
    }
     
    $query = mysql_query("SELECT * FROM ".$table." ".$tri."") or exit(mysql_error());
    $num_rows = mysql_num_rows($query) or exit(mysql_error());
    //echo($table);
     
    //echo $num_rows ." lignes dans la table " . $table."\n"; 
     
    $Tableau_Noms_Des_Champs = array();  
     
    for($j=0;$j<mysql_num_fields($query);$j++) 
    { 
       $Tableau_Noms_Des_Champs[] = mysql_field_name($query, $j); 
       //echo(mysql_field_name($query,$j));
    }
    var_dump($Tableau_Noms_Des_Champs);
     
    ?>
    <?php if ($num_rows > 0) {?>
    <form action="" method="post" name="frmSaisie" id="frmSaisie">
    <tr><td>&nbsp;</td>
    <?php 
    //++++++++++++++++++++++++affichage des noms de colonnes +++++++++++++++++++++++++++++++++
    for($i=0;$i<mysql_num_fields($query);$i++)
    		{
    		//afin de ne pas afficher l'ID dans les pages de consultations, je dis que si le nom du champ actuel est 'ID', je l'ignore
    		if(mysql_field_name($query,$i) != 'ID')
    			{
    //cursos:pointer transforme la flèche en main pour les liens
    //self.location.href recharge la page
    //?Sort= le nom du champ que l'on veut trier
    //je sécurise le GET en testant si la valeur retournée dans l'URL est bien dans le tableau (in_array)
    if((isset($_GET['Sort'])) && (in_array($tri,$Tableau_Noms_Des_Champs)) || ($_GET['Sort'] == "" ))
    { 
    	echo '<td style="cursor:pointer" onclick="self.location.href=\'EntreeDeDonnees.php?Sort='.$Tableau_Noms_Des_Champs[$i].'&Table='.$table.'\'">'.$Tableau_Noms_Des_Champs[$i].'</td>';
    	$_GET['Sort'] = '';
    }
    else{echo('la valeur de $_GET[\'Sort\'] est'. $_GET['Sort']);}
    		}
    		}
    ?>
    </tr>
    <?php 
    $nligne = 0;
    $nbColonnes = 0;
    while($row = mysql_fetch_array($query,MYSQL_ASSOC)) 
    {
    	echo '<tr><td><input name="sup['.$row['ID'].']" type="checkbox" value="'.$row['ID'].'" /></td>';
    	foreach($row as $NomCol => $Valeur)
    	{
    		//si le nom de la colonne vaut 'ID', je l'ignore afin de ne pas afficher l'ID
    		if($NomCol != 'ID'){
    		echo '<td><input name="new[' . $row['ID'] . '][' . $NomCol . ']" value="'.$Valeur.'"></td>';	}
    	}
    	echo '</tr>';
    }
     
    echo '</tr>';
     
     
    ?>
     
    }
    </script>
    Sauriez-vous me dire ce que je dois faire svp ?

    Merci d'avance.

    beegees

  2. #2
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Bonjour,

    Problème

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if((isset($_GET['Sort'])) && (in_array($_GET['Sort'], $Tableau_Noms_Des_Champs)) || ($_GET['Sort'] == "" )){
    Bien à vous.

    beegees

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 30/06/2011, 14h12
  2. [VxiR2] Valeurs dans les intitulés des Colonnes
    Par patgabjoe dans le forum Deski
    Réponses: 4
    Dernier message: 07/10/2010, 15h08
  3. Calculer une somme suivant les intitulés de colonne
    Par trigger00 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 06/07/2009, 10h33
  4. Réponses: 3
    Dernier message: 23/03/2009, 14h01
  5. Garder les intitulé de colonnes d'un tableau fixes
    Par royto dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 26/03/2007, 17h41

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