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 :

Trier un tableau php dynamiquement


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 71
    Points : 32
    Points
    32
    Par défaut Trier un tableau php dynamiquement
    Bonjour, c'est encore moi ^^ je vous consulte cette foi pour un souci de tri dynamique de tableau , revoila ma fonction tableau ( on va finir par la connaitre par coeur xd )

    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
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    function tableau_session($rq,$ligne,$resultat)
    {
    	$TabTitre = array 
    		(
    			"NUM","SITE","SOUS-RÉSEAU","ORDI","LOGIN","NOM COMPLET","IP","DOMAINE ORDINATEUR","DOMAINE UTILISATEUR",
    			"SYSTEME","SYSTEME PACK","MODELE","CPU","MHZ","RAM","DATE LOGIN","DERNIER BOOT","ORDI","LOGIN",
    			"NOM COMPLET","ANTIVIRUS","SIGNATURE","DATE SIGNATURE","AGE","VNC","VNC START","REP KIXDIR","REP MYSQLDIR","OUTILS"
    		);
     
    echo "<TABLE BORDER=1 ALIGN='CENTER' class=onglets_table>
    		<TR>";
    		foreach($TabTitre as $element)
    			{
    				echo"<TD align = center class='onglet_td'>".$element."</TD>";
    			}
    		echo"</TR>";
     
    	$numBoucle = 1;
     
    	while($ligne)
    		{
    			$age = $ligne["naidatdate"];
    			if (is_null($age) || $age=='' || $age==' ' || $age=="nt/")
    				{
    					$age = "<font color='red'>nc</font>";
    				}
    			else
    				{
    					$age = ecart_date_now($age);
    					if ($age < 31)
    						$age = "<font color='green'>".$age."</font>";
    					elseif ($age < 61)
    						$age = "<font color='orange'>".$age."</font>";
    					else
    						$age = "<font color='red'>".$age."</font>";
    				}
    				if ($ligne["site"]=='' || $ligne["site"]== null)
    					{
    						$ligne["site"] = "<font color='red'>site inconnu</font>";
    					}
    				if ($ligne["ip"]=='' || $ligne["ip"]== null)
    					{
    						$ligne["ip"] = "<font color='red'>nc</font>";
    					}
    				if ($ligne["ipsubnet"]=='' || $ligne["ipsubnet"]== null)
    					{
    						$ligne["ipsubnet"] = "<font color='red'>sous r&eacute;seau inconnu</font>";
    					}
    				if ($ligne["sp"]=='' || $ligne["sp"]== null)
    					{
    						$ligne["sp"] = "<font color='red'>nc</font>";
    					}
    				if ($ligne["smodel"]=='' || $ligne["smodel"]== null)
    					{
    						$ligne["smodel"] = "<font color='red'>nc</font>";
    					}
    				if ($ligne["cpu"]=='' || $ligne["cpu"]== null)
    					{
    						$ligne["cpu"] = "<font color='red'>nc</font>";
    					}
    				if ($ligne["mhz"]=='' || $ligne["mhz"]== null)
    					{
    						$ligne["mhz"] = "<font color='red'>nc</font>";
    					}
    				if ($ligne["ram"]=='' || $ligne["ram"]== null)
    					{
    						$ligne["ram"] = "<font color='red'>nc</font>";
    					}
    				if ($ligne["naiver"]=='' || $ligne["naiver"]== null)
    					{
    						$ligne["naiver"] = "<font color='red'>nc</font>";
    					}
    				if ($ligne["naidatver"]=='' || $ligne["naidatver"]== null)
    					{
    						$ligne["naidatver"] = "<font color='red'>nc</font>";
    					}
    				if ($ligne["naidatdate"]=='' || $ligne["naidatdate"]== null || $ligne["naidatdate"]=='nt/')
    					{
    						$date = $ligne["naidatdate"] = "<font color='red'>nc</font>";
    					}
    					else
    						{
    							$date = date_format_JJMMAAAA($ligne["naidatdate"]);
    						}
    				if ($ligne["vnc"]=='' || $ligne["vnc"]== null)
    					{
    						$ligne["vnc"] = "<font color='red'>nc</font>";
    					}
    				if ($ligne["outils"]=='' || $ligne["outils"]== null)
    					{
    						$ligne["outils"] = "<font color='red'>nc</font>";
    					}
     
    				if ($ligne["os"] =='' || $ligne["os"]== null || $ligne["os"] =='Unknown OS')
    					{
    						$ligne["os"] = "<font color='red'>non inventori&eacute; dans OCS</font>";
    					}
    					elseif (($ligne["os"] == 'Microsoft Windows XP Professional') && ($ligne["sp"] <> 'Service Pack 3'))
    						{
    							$ligne["os"] = $ligne["os"];
    							$ligne["sp"] = "<font color='red'>".$ligne["sp"]."</font>";
    						}
    						elseif (($ligne["os"] == 'Microsoft Windows XP Professional x64 Edition') && ($ligne["sp"] <> 'Service Pack 2'))
    							{
    								$ligne["os"] = $ligne["os"];
    								$ligne["sp"] = "<font color='red'>".$ligne["sp"]."</font>";
    							}
    							else
    								{
    									$ligne["os"] = $ligne["os"];
    									$ligne["sp"] = $ligne["sp"];
    								}
     
    				if (substr($ligne["naiver"], 0, 2) == '11')
    					{
    						$ligne["naiver"] = "<font color='blue'>" . $ligne["naiver"] . "</font>";
    					}
     
    				$ligne["timestamp"] = date_format_JJ_MM_AAAA($ligne["timestamp"]);
    				$ligne["lastboot"] = date_format_JJ_MM_AAAA($ligne["lastboot"]);
     
    				// si numéro de ligne pair ( colorisation 1 lignes sur 2)
    				if($numBoucle %2 == 1)
    					{
    						$bgcolor = '#F3F8ED';
    					}
    					else
    						{
    							$bgcolor = '#C4D7ED';
    						}
     
    				$TabLigne = array 
    					(
    						$numBoucle,$ligne["site"],$ligne["ipsubnet"],$ligne["compname"],
    						$ligne["userid"],$ligne["userfullname"],$ligne["ip"],$ligne["domain"],$ligne["userdomain"],
    						$ligne["os"],$ligne["sp"],$ligne["smodel"],$ligne["cpu"],$ligne["mhz"],$ligne["ram"],
    						$ligne["timestamp"],$ligne["lastboot"],$ligne["compname"],$ligne["userid"],
    						$ligne["userfullname"],$ligne["naiver"],$ligne["naidatver"],$date,$age,$ligne["vnc"],
    						$ligne["vncstart"],$ligne["kixdir"],$ligne["mysqldir"],$ligne["outils"]
    					);
     
    				echo"<TR bgcolor=".$bgcolor." align = center>";
    				foreach($TabLigne as $element2)
    					{
    						echo"<TD nowrap='nowrap'>".$element2."</TD>";
    					}
    				echo"</TR>";
    				$ligne = mysql_fetch_assoc($resultat);$numBoucle++;
    		}
    	echo "</TABLE>";
    }
    jai mis pour ceux qui s 'en rendron compte un $rq en parametre de fonction afin d appeler ma requete pour la modifier avec un parametre de tri en fonction de la colone du tableau cliké, il n'y a rien de fait pour l instant a ce niveau la, jai netoyer mon code des essai que j avai fait sans succes c'est pour sa que je fait appel a vous, pourriez vous m'aidez a mettre en place le systeme de tri dynamique par colone , merci bcp

  2. #2
    Membre actif Avatar de stephanegib2
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2011
    Messages : 152
    Points : 233
    Points
    233
    Par défaut
    regarde si asort peut pas faire ton bonheur.

    http://php.net/manual/fr/function.asort.php

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 71
    Points : 32
    Points
    32
    Par défaut
    jai deja regarder les fonctions sort et asort mais je ne voi pas comment sa peut fonctionner dans mon cas

    ce serait cool de vraiment regarder mon code avant de balancer des reponse mode : va voir avec un lien, si jvien poser ma question ici c est que jai deja ecremer beaucoup de truc avant et que je cherche une solution concrete ^^ sinon sans mechanceté, j irais sur comment sa marche et pas ici si jvoulai des lien ^^

  4. #4
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Des solutions pour trier dynamiquement une table existent déjà en JavaScript, c'est très simple à mettre en place en plus, ça ne nécessite pas de rechargement: http://tablesorter.com/docs/
    De plus, la coloration "une ligne sur deux" peut être obtenue avec le plugin zebra pour TableSorter ou alors avec une simple règle CSS table tbody > tr:nth-child(odd).

    Si tu veux à tout prix le faire en PHP, pourquoi ne pas trier directement sur la requête de laquelle, j'imagine, proviennent tes informations ?

    Enfin, je serais toi j'éviterai l’indentation Python, on a beaucoup de mal à lire ton script/

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 71
    Points : 32
    Points
    32
    Par défaut
    justement tu arrive la ou je souhaite aller, je souhaite avoir les titre de mon tableau qui soit interactif, et lorsque je clique sur le titre d une de mes colonne je veut que cela modifi ma requete de base $rq avec un parametre ORDER BY afin que mon tableau soit retrier sur la colonne selectionnée

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 71
    Points : 32
    Points
    32
    Par défaut
    jvien dy essayer sa fonctionne pas ^^ les scripts on just foutu en l air la presentation de mon tableau mais les titres ne sont jamais devenu interactif et le tableau n'avai aucun moyen d etre trier ..

    De plus je suis obliger de travailler avec IE et le javascript est tres mal interpreté c'est pour sa que je souhaite une solution en php

  7. #7
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    De plus je suis obliger de travailler avec IE et le javascript est tres mal interpreté c'est pour sa que je souhaite une solution en php
    C'est un plugin jQuery compatible IE 6+, pas d'excuse

    jvien dy essayer sa fonctionne pas ^^ les scripts on just foutu en l air la presentation de mon tableau mais les titres ne sont jamais devenu interactif et le tableau n'avai aucun moyen d etre trier ..
    Est-ce que tu as remarqué que ton tableau devait être de la forme suivante pour que ça fonctionne au moins ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <table>
        <thead>
            <tr></tr>
        </thead>
        <tbody>
            <tr></tr>
        </tbody>
    </table>
    justement tu arrive la ou je souhaite aller, je souhaite avoir les titre de mon tableau qui soit interactif, et lorsque je clique sur le titre d une de mes colonne je veut que cela modifi ma requete de base $rq avec un parametre ORDER BY afin que mon tableau soit retrier sur la colonne selectionnée
    Utilise des ancre dans le header de ton tableau et passe un paramètre de tri en GET que tu réccupère pour la clause ORDER BY de ta requête.

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 71
    Points : 32
    Points
    32
    Par défaut
    ouai mais je voi pas comment faire sa avec mon tableau lui il l ecrit en dure, moi c est une boucle :/

    jvien d essayer de plein de maniere differente et changer la structure de mon tableau et en metant la leur, rien n y fait , sa change toujours uniquement le style de mon tableau mais rien de plus ..

    de plus je travail sur un ordinateur de société, il bloque tout ce qui est javascript, il refuse d ouvrir les ficheir js ... c est pour sa que j insiste autant pour avoir une solution php c est que je nai pas le choix ..

  9. #9
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Peu importe que ce soit écrit en dur ou dynamiquement, tu dois utiliser la syntaxe XHTML avec un thead et un tbody correctement formés pour que ça fonctionne.
    Je comprends pas vraiment sur quoi tu buttes, dans ton code tu as bien une section pour créer le <tr> de tête les <tr> de body dans une boucle plus bas donc y'a vraiment pas grand chose à changer pour que ça fonctionne.

    Question problèmes et solution, tu as essayé de regarder dans la console de ton navigateur avec F12 si par hasard tu n'avais pas des messages d'erreur JavaScript ? Tu n'as pas oublié d'inclure jQuery ? Tu as bien mis $('#mon-tableau').tablesorter() ? Tu as bien inclus les styles de tablesorter ?

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 71
    Points : 32
    Points
    32
    Par défaut
    jai bien fait tout ce que tu vien de lister malheureusement ... sa me deprime un peu ^^

  11. #11
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    C'est louche, je peux jeter un oeil au tableau produit ?

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 71
    Points : 32
    Points
    32
    Par défaut
    ba c chaud c des donnée d entreprise jvai pa pouvoir mettre sa sur le net ^^

    jai une erreur affichée sa te donnera ptet une idée par rapport a la derniere fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fatal error: Call to undefined function ready() in ... on line 118
    ligne 118 correspondant a :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SERVER['SCRIPT_NAME'].ready(function()

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 71
    Points : 32
    Points
    32
    Par défaut
    par contre je peut pas te montrer les donnée mais jpeut toujours t envoyer le code complet de ma fonction et du fichier appelant, t aura tout , ce sera un peu long mais tu y trouvera peu etre d ou vien le probleme , moi sa fait des heure que je reli et reli et jtavou que a force je voi plus rien si ya des erreur

  14. #14
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    $_SERVER['SCRIPT_NAME'].ready(function()
    Tu fais de la magie noire à tes heure perdues ??

    Je crois que t'es en train de confondre ce qui se passe coté serveur avec PHP et ce qui se passe coté client avec JavaScript je me trompe ?

    Pour déclencher un trigger au chargement de la page avec jQuery c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <script type="application/javascript" src="/path/to/jquery.min.js"></script>
    <script type="application/javascript">
    jQuery(function ($) {
      $('#mon-id').tablesorter(); // par exemple
    });
    </script>

  15. #15
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 71
    Points : 32
    Points
    32
    Par défaut
    de base le code de ton lien c etait sa :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $(document).ready(function()     {         $("#myTable").tablesorter();     } );
    jy ai modifier car j ai l erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Parse error: syntax error, unexpected '(', expecting variable (T_VARIABLE) or '$' in ... on line 118

  16. #16
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Ces messages d'erreur sont ceux de PHP, pas ceux de JavaScript donc mon pronostic c'est que tu as mis tout ça directement dans le PHP et non dans le HTML produit.

    Tu as dû faire quelque chose dans ce goût là:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    // bla bla...
    $(document).ready(function()     {         $("#myTable").tablesorter();     } );
    ?>
    alors que tu aurais dû faire (au moins):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    // bla bla ...
    ?>
    <script type="application/javascript">
    $(document).ready(function()     {         $("#myTable").tablesorter();     } );
    </script>
    Je me répète mais le JS doit être dans le flux HTML produit, pas dans le code PHP exécuté coté serveur.

    Au passage, je peux pas faire grand chose de ton screenshot, c'est le code qui m'intéresse.

  17. #17
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 71
    Points : 32
    Points
    32
    Par défaut
    jai mis les feuilles de styles et les fonctions hors php, aucun changement le tableau reste le meme.. voila le code complet

    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
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
      <!-- CREATION DU HEAD DE PAGE -->
    	<HEAD>
    		<TITLE>Recherche par site</TITLE>
    			<!-- Feuille de style  -->
    		<LINK REL='stylesheet' TYPE='text/css' HREF='../styles/design.css'>
    		<meta http-equiv='Content-Type' content='text/html'; charset=latin1_bin />
    		<script type='text/javascript' src='../progs_donnes/jq/jquery-latest.js'></script> 
    		<script type='text/javascript' src='../progs_donnes/jq/jquery.tablesorter.js'></script> 
    	</HEAD>
    	<?php
    	// ===============================================
    	// recherche_parsite_saisie.php
    	// Affichage du résultat de la recherche 
    	// ===============================================
     
    	// OUVERTURE DE SESSION (voit si une session est en cours et garde l'identificateur de session)
    	session_start();    
     
    	// INCLUSION DE LA BIBLIOTHEQUE DE FONCTIONS
    	include("../includes/fonctions.inc");
     
    	// On arrive du formulaire de recherche_saisie.php
    	// RECUPERATION DES VARIABLES DU QUESTIONNAIRE
    	$_GET =  remplacer_apostrophes($_GET);	// remplace les ' par `
    	extract ($_GET);				// génère les variables avec leur valeur
     
     
     
    	// Inclusion de la Boite d'onglets  de navigation
    	include("../includes/baniere.inc" );
     
    	echo "<BODY>";			 
    	//Liste déroulante du critère "nom"
    	echo "<FORM width=100% ALIGN='CENTER' METHOD='GET' ACTION='recherche_ParSite_saisie.php'>";
    	echo "<table class=tableau_liste3  width=auto align='left'><tr><td>Choix du site par nom : </td>";
    	$rq = "SELECT DISTINCT site,ipsubnet FROM view_sessions ORDER BY site";
    	list_deroulante_3($rq);
    	echo "</tr><tr><td colspan=2 align=center><INPUT TYPE='SUBMIT'value='OK'/><INPUT TYPE='RESET' value='Annuler'/></tr>";
    	echo "</table></form>";
     
    	//Liste déroulante du critère "reseau IP"
    	echo "<FORM width=100% ALIGN='CENTER' METHOD='GET' ACTION='recherche_ParSite_saisie.php'>";
    	echo "<table class=tableau_liste4 width=auto align='center'><tr><td>ou par r&eacute;seau :</td>";
    	$rq = "SELECT DISTINCT ipsubnet,site FROM view_sessions ORDER BY ipsubnetint32 ;" ;
    	list_deroulante_4($rq);    
    	echo "<tr><td colspan=3 align=center><INPUT TYPE='SUBMIT' value='OK'/><INPUT TYPE='RESET' value='Annuler'/>";	
    	echo "</td></tr></table></form>";
     
    	// si les variables existent, on affiche le résultat en dessous (isset = <<existe>>)
    	if (isset($_GET["ip"]))
    		{
    			//Début de mon développement 
    			//Début de la requête 1
    			$ip = $_GET["ip"];
    			if ($ip == "")
    				{
    					$rq="SELECT * FROM view_sessions WHERE view_sessions.ipsubnetint32 IS NULL AND view_sessions.site IS NULL ;";
    				}
    				else
    				{
    					$rq = "SELECT * FROM view_sessions WHERE view_sessions.ipsubnet LIKE '".$ip."';";
    				}
     
    			if ($ip != -1)
    				{	
    					//Exécution de la requête 1
    					$resultat = executer_requete2($rq, "base");
    					$ligne = mysql_fetch_assoc($resultat);
     
    					//Début de la requête 2
    					if ($ip == "")
    						{	
    							$rq2="SELECT * FROM view_sessions WHERE view_sessions.ipsubnetint32 IS NULL AND view_sessions.site IS NULL ;";
    						}
    						else
    						{
    							$rq2 = "SELECT * FROM view_sessions WHERE view_sessions.ipsubnet LIKE '".$ip."';";
    						}
     
    					//Requête si le critère "ip" est rempli
    					if ($ip != -1)
    						{
    							//Exécution de la requête 2
    							$resultat2 = executer_requete2($rq2, "base");
    							$ligne2 = mysql_fetch_assoc($resultat2);
    							$nblignes = mysql_num_rows($resultat2);
     
    							if ($ip == "")
    								{	
    									$rq3 = "SELECT timestamp FROM `view_sessions` ".
    									"WHERE ((to_days(now()) = to_days(`ocsview`.`view_sessions`.`timestamp`))) ".
    									"AND view_sessions.ipsubnetint32 IS NULL AND view_sessions.site IS NULL;";
    								}
    								else
    									{
    										$rq3 = "SELECT timestamp FROM `view_sessions` ".
    										"WHERE ((to_days(now()) = to_days(`ocsview`.`view_sessions`.`timestamp`))) ".
    										"AND view_sessions.ipsubnet LIKE '".$ip."';";
    									}
     
    							//Requête si le critère "ip" est rempli
    							if ($ip != -1)
    								{
    									//Exécution de la requête 3
    									$resultat3 = executer_requete2($rq3, "base");
    									$nblignes2 = mysql_num_rows($resultat3);
    									//Affichage du résultat de la requête
    									echo "<TABLE BORDER=1 ALIGN='center'>
    											<TR>
    												<TD align = center class='onglet_td'>Nombre de sessions ouvertes sur ce site</TD> 
    												<TD align = center class='onglet_td'>Nombre de sessions ouvertes aujourd'hui</TD> 
    											</TR>
    											<TR align = center>
    												<TD>".$nblignes."</TD> <TD>".$nblignes2."</TD>
    											</TR>
    										</TABLE>";
    									tableau_session($ligne,$resultat);
    									?><script type="application/javascript" src="../progs_donnes/jq/jquery.min.js"></script>
    									<script type="application/javascript">
    									jQuery(function ($) {
    									  $("#myTable").tablesorter();
    									});
    									</script>
    									<?php
    								}
    								else
    									{
    										echo "</br>";
    										echo "<TABLE BORDER=1 ALIGN='CENTER' WIDTH=40%>
    												<TR>
    													<TD align = center class='onglet_td'> Erreur </TD>
    												</TR>
    											  </TABLE>";
    									}
    						}
    						else
    							{
    								echo "</br>";
    								echo "<TABLE BORDER=1 ALIGN='CENTER' WIDTH=40%>
    										<TR>
    											<TD align = center class='onglet_td'> Erreur </TD>
    										</TR>
    									  </TABLE>";
    							}
    				}
    				else
    					{
    						erreur();
    					}
     
    		}
    	 echo"</body>";
    	echo"</html>";
    ?>

    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
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    function tableau_session($ligne,$resultat)
    {
    	$TabTitre = array 
    		(
    			"NUM","SITE","SOUS-R&Eacute;SEAU","ORDI","LOGIN","NOM COMPLET","IP","DOMAINE ORDINATEUR","DOMAINE UTILISATEUR",
    			"SYSTEME","SYSTEME PACK","MODELE","CPU","MHZ","RAM","DATE LOGIN","DERNIER BOOT","ORDI","LOGIN",
    			"NOM COMPLET","ANTIVIRUS","SIGNATURE","DATE SIGNATURE","AGE","VNC","VNC START","REP KIXDIR","REP MYSQLDIR","OUTILS"
    		);
     
    echo "<TABLE id='myTable' class='tablesorter' BORDER=1 ALIGN='CENTER' class=onglets_table>
    		<thead><TR>";
    		foreach($TabTitre as $element)
    			{
    				echo"<th align = center class='onglet_td'>".$element."</th>";
    			}
    		echo"</TR></thead>";
     
    	$numBoucle = 1;
     
    	while($ligne)
    		{
    			$age = $ligne["naidatdate"];
    			if (is_null($age) || $age=='' || $age==' ' || $age=="nt/")
    				{
    					$age = "<font color='red'>nc</font>";
    				}
    			else
    				{
    					$age = ecart_date_now($age);
    					if ($age < 31)
    						$age = "<font color='green'>".$age."</font>";
    					elseif ($age < 61)
    						$age = "<font color='orange'>".$age."</font>";
    					else
    						$age = "<font color='red'>".$age."</font>";
    				}
    				if ($ligne["site"]=='' || $ligne["site"]== null)
    					{
    						$ligne["site"] = "<font color='red'>site inconnu</font>";
    					}
    				if ($ligne["ip"]=='' || $ligne["ip"]== null)
    					{
    						$ligne["ip"] = "<font color='red'>nc</font>";
    					}
    				if ($ligne["ipsubnet"]=='' || $ligne["ipsubnet"]== null)
    					{
    						$ligne["ipsubnet"] = "<font color='red'>sous r&eacute;seau inconnu</font>";
    					}
    				if ($ligne["sp"]=='' || $ligne["sp"]== null)
    					{
    						$ligne["sp"] = "<font color='red'>nc</font>";
    					}
    				if ($ligne["smodel"]=='' || $ligne["smodel"]== null)
    					{
    						$ligne["smodel"] = "<font color='red'>nc</font>";
    					}
    				if ($ligne["cpu"]=='' || $ligne["cpu"]== null)
    					{
    						$ligne["cpu"] = "<font color='red'>nc</font>";
    					}
    				if ($ligne["mhz"]=='' || $ligne["mhz"]== null)
    					{
    						$ligne["mhz"] = "<font color='red'>nc</font>";
    					}
    				if ($ligne["ram"]=='' || $ligne["ram"]== null)
    					{
    						$ligne["ram"] = "<font color='red'>nc</font>";
    					}
    				if ($ligne["naiver"]=='' || $ligne["naiver"]== null)
    					{
    						$ligne["naiver"] = "<font color='red'>nc</font>";
    					}
    				if ($ligne["naidatver"]=='' || $ligne["naidatver"]== null)
    					{
    						$ligne["naidatver"] = "<font color='red'>nc</font>";
    					}
    				if ($ligne["naidatdate"]=='' || $ligne["naidatdate"]== null || $ligne["naidatdate"]=='nt/')
    					{
    						$date = $ligne["naidatdate"] = "<font color='red'>nc</font>";
    					}
    					else
    						{
    							$date = date_format_JJMMAAAA($ligne["naidatdate"]);
    						}
    				if ($ligne["vnc"]=='' || $ligne["vnc"]== null)
    					{
    						$ligne["vnc"] = "<font color='red'>nc</font>";
    					}
    				if ($ligne["outils"]=='' || $ligne["outils"]== null)
    					{
    						$ligne["outils"] = "<font color='red'>nc</font>";
    					}
     
    				if ($ligne["os"] =='' || $ligne["os"]== null || $ligne["os"] =='Unknown OS')
    					{
    						$ligne["os"] = "<font color='red'>non inventori&eacute; dans OCS</font>";
    					}
    					elseif (($ligne["os"] == 'Microsoft Windows XP Professional') && ($ligne["sp"] <> 'Service Pack 3'))
    						{
    							$ligne["os"] = $ligne["os"];
    							$ligne["sp"] = "<font color='red'>".$ligne["sp"]."</font>";
    						}
    						elseif (($ligne["os"] == 'Microsoft Windows XP Professional x64 Edition') && ($ligne["sp"] <> 'Service Pack 2'))
    							{
    								$ligne["os"] = $ligne["os"];
    								$ligne["sp"] = "<font color='red'>".$ligne["sp"]."</font>";
    							}
    							else
    								{
    									$ligne["os"] = $ligne["os"];
    									$ligne["sp"] = $ligne["sp"];
    								}
     
    				if (substr($ligne["naiver"], 0, 2) == '11')
    					{
    						$ligne["naiver"] = "<font color='blue'>" . $ligne["naiver"] . "</font>";
    					}
     
    				$ligne["timestamp"] = date_format_JJ_MM_AAAA($ligne["timestamp"]);
    				$ligne["lastboot"] = date_format_JJ_MM_AAAA($ligne["lastboot"]);
     
    				// si numéro de ligne pair ( colorisation 1 lignes sur 2)
    				if($numBoucle %2 == 1)
    					{
    						$bgcolor = '#F3F8ED';
    					}
    					else
    						{
    							$bgcolor = '#C4D7ED';
    						}
     
    				$TabLigne = array 
    					(
    						$numBoucle,$ligne["site"],$ligne["ipsubnet"],$ligne["compname"],
    						$ligne["userid"],$ligne["userfullname"],$ligne["ip"],$ligne["domain"],$ligne["userdomain"],
    						$ligne["os"],$ligne["sp"],$ligne["smodel"],$ligne["cpu"],$ligne["mhz"],$ligne["ram"],
    						$ligne["timestamp"],$ligne["lastboot"],$ligne["compname"],$ligne["userid"],
    						$ligne["userfullname"],$ligne["naiver"],$ligne["naidatver"],$date,$age,$ligne["vnc"],
    						$ligne["vncstart"],$ligne["kixdir"],$ligne["mysqldir"],$ligne["outils"]
    					);
     
    				echo"<tbody><TR bgcolor=".$bgcolor." align = center>";
    				foreach($TabLigne as $element2)
    					{
    						echo"<TD nowrap='nowrap'>".$element2."</TD>";
    					}
    				echo"</TR></tbody>";
    				$ligne = mysql_fetch_assoc($resultat);$numBoucle++;
    		}
    	echo "</TABLE>";
     
    }

  18. #18
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Alors, au chapitre des choses qui ne vont pas:
    • Je ne vois pas l'ouverture de la balise HTML (pourtant, je vois sa fermeture en bas)
    • Je vois un mélange inconsistant de echo et de flux HTML direct, tu devrais considérer l'usage de la syntaxe alternative
    • Je ne vois pas de doctype
    • Je vois un mélange de HTML 4 et de XHTML, ce qui risque de te faire tomber en mode quirks et dégrader l'interprétation du CSS, le JavaScript peut aussi être impacté, je doute que ça passe la validation W3C
    • Je vois une mise en forme en tableaux, je ne saurais que trop de conseiller d'abandonner cette façon de faire qui était en vigueur il y a 20 ans, tu devrais faire ton layout avec des div et faire la mise en forme uniquement avec CSS et abandonner les attributs ALIGN et STYLE.
    • Plus grave, je vois que le tableau qui pose problème porte 2 attributs class, pour mettre deux classes à un noeud, il suffit de les séparer par des espaces.


    Essaie de remplacer type="application/javascript" par type="text/javascript" car suivant le doctype, ça peut être mal interprété (application/javascript est un nouveau standard).

  19. #19
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 71
    Points : 32
    Points
    32
    Par défaut
    pour la mise en forme tableau j suis encore en etude et on ma appris que comme sa ^^ jvai pa changer les page de tout mon site ^^

    jai modifier les appli en text et jai fait sa pour la classe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<TABLE id='myTable' class='tablesorter onglets_table' BORDER=1 ALIGN='CENTER'>
    je sais que je fait des melange de facon de codé assez personnel on va dire XD mais sa marche tres bien sur tout le reste de mon site, et beaucoup d autre fonction javascript et jquerry sont executé sur d autre page portant les meme structure et fonctionne tres bien ^^ il n y a que la que sa foire

    je ne cherche pas une validation W3C c est un site qui tournera en local par sur internet

  20. #20
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Citation Envoyé par spads Voir le message
    je ne cherche pas une validation W3C c est un site qui tournera en local par sur internet
    Un site valide = un site sans erreurs = interprétation correcte par le navigateur.

    A partir du moment ou le code est dégeulasse et qu'en plus tu travail pour IE uniquement qui à la réputation d'être très tatillion faut pas s'étonner de pas arriver à faire marcher un simple plugin jquery.

    Commence par faire une page simple a partir d'un des exemple de table sorter et une fois que ça marche tu reporte dans ton code.

    pour la mise en forme tableau j suis encore en etude et on ma appris que comme sa
    Tu nous laissera les coordonnées de ton profs, on va lui envoyer quelques lien vers les tutoriels pour grands débutants
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. Trier un tableau PHP
    Par EkrazNeophite dans le forum Langage
    Réponses: 5
    Dernier message: 05/02/2015, 14h15
  2. trier un tableau php
    Par ramoul dans le forum Autres langages pour le Web
    Réponses: 0
    Dernier message: 03/11/2009, 16h44
  3. [CR XI] Trier un tableau croisé dynamique
    Par kikidrome dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 09/07/2009, 09h26
  4. Réponses: 3
    Dernier message: 21/06/2009, 15h16
  5. [PHP] trier un tableau dynamiquement
    Par caro. dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 31/01/2006, 17h08

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