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

PHP & Base de données Discussion :

probleme sql + while [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    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
    Par défaut probleme sql + while
    probleme sql + while

    voila c'est à nouveau moi ^^ ,
    je fait une requete sql juste car verifié sur phpmyadmin et le resultat est bon dans ma base , ma requete s execute avec un while et je pense qu il est faux mais je ne vois pas l erreur

    voila mon fichier appeler contenant la requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    // requete J
    	$rq = "select (to_days(now())-to_days(timestamp)) as J, count(*) as nombre from netlogon.startuplog group by J order by J limit 7;";		
    //Exécution de la requête
    	$resultat = executer_requete($rq, "base");
    	$ligne = mysql_fetch_assoc($resultat);
    	$a=1;
    	while($ligne)
    	{
    		$j.$a= $ligne["nombre"];
    		$a++;
    		$ligne = mysql_fetch_assoc($resultat);
    	}
    ?>
    et voila la partie du fichier appelant qui utilise les resultats

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $datay=array($j7,$j6,$j5,$j4,$j3,$j2,$j1);

  2. #2
    Expert confirmé

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Par défaut
    Bonjour,

    Tu fais deux mysql_fetch_assoc() or seul un est nécessaire.
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  3. #3
    Membre confirmé
    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
    Par défaut
    jen ai enlever un sa na rien changer

  4. #4
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Par défaut
    Salut

    Je l'aurai mis ici le mysql_fetch_assoc()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while($ligne = mysql_fetch_assoc($resultat)) {
    ...
    ...
    }
    Car tu dois lire le résultat à chaque passage, là tu bouclais sur un seul résultat.
    Je ne suis pas schizophrène, nous sommes unanime !!!

    ► Pensez à la balise code et au CODE HTML GENERE !!!!
    ► Au si c'est le cas et au à ceux qui vous ont aidé.
    Vous souhaitez participer aux rubriques CSS et (X)HTML ? Contactez-nous !

    Créer des colonnes de même hauteur en CSS
    Glossaire CSS
    Les bordures en CSS3
    Les transitions en CSS3

  5. #5
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    a part la boucle qui peut être simplifié, c'est quoi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $j.$a= $ligne["nombre"];

  6. #6
    Membre confirmé
    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
    Par défaut
    dans ma requete sql

  7. #7
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Par défaut
    A tester

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    // requete J
    $rq = "SELECT (to_days(now())-to_days(timestamp)) as J, count(*) as nombre FROM netlogon.startuplog GROUP BY J ORDER BY J LIMIT 7;";        
    //Exécution de la requête
    $resultat = executer_requete($rq, "base");
     
    $a = 0;
     
    while($ligne = mysql_fetch_assoc($resultat)) {
        ${'j' . $a++} = $ligne["nombre"]; // J'ai un doute sur le $a++ | je sais pas si il sera correctement interprêté.
    }
    Je ne suis pas schizophrène, nous sommes unanime !!!

    ► Pensez à la balise code et au CODE HTML GENERE !!!!
    ► Au si c'est le cas et au à ceux qui vous ont aidé.
    Vous souhaitez participer aux rubriques CSS et (X)HTML ? Contactez-nous !

    Créer des colonnes de même hauteur en CSS
    Glossaire CSS
    Les bordures en CSS3
    Les transitions en CSS3

  8. #8
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Désolé si je me suis mal exprimé, je signifiais une question sur $j ?

  9. #9
    Membre confirmé
    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
    Par défaut
    sa marche au poil, merci

  10. #10
    Membre confirmé
    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
    Par défaut
    jai encore un probleme de while, il ne s agit plus du meme xd, jai un affichage correct de toutes mes lignes dans mon tableau sauf la premiere ligne de resultat qui ne s affiche pas, ma requete sql est bonne car testé et correct sur phpmyadmin, mais mon while m affiche toujours tout mes resultat sauf le premier, quelqun aurai une idée d ou peut venir l erreur ?

  11. #11
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Par défaut
    Si tu nous montrais ton code actuel, on serait plus à même de t'aider.
    Je ne suis pas schizophrène, nous sommes unanime !!!

    ► Pensez à la balise code et au CODE HTML GENERE !!!!
    ► Au si c'est le cas et au à ceux qui vous ont aidé.
    Vous souhaitez participer aux rubriques CSS et (X)HTML ? Contactez-nous !

    Créer des colonnes de même hauteur en CSS
    Glossaire CSS
    Les bordures en CSS3
    Les transitions en CSS3

  12. #12
    Membre confirmé
    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
    Par défaut
    le truc c est que le code est tres long , ct pour d abord savoir si l erreur te fesait pensé a quelque chose que tu avai deja vu, voila le 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
    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
    155
    156
    157
    158
    159
    160
    161
    162
    function tableau_session($ligne,$resultat)
    {
    	$TabTitre = array (
    		"SITE","SOUS-R&Eacute;SEAU","ORDI","LOGIN","NOM COMPLET","IP","DOMAINE","DOMAINE USER",
    		"SYSTEME","SYSTEME PACK","MODELE","CPU","MHZ","RAM","TIMESTAMP","LAST BOOT","ORDI","LOGIN",
    		"NOM COMPLET","ANTIVIRUS","SIGNATURE","DATE SIGNATURE","AGE","VNC","VNC START","KIXDIR","MYSQLDIR","OUTILS"
    	);
    echo "<TABLE BORDER=1 ALIGN='CENTER' class=onglets_table>
    		<TR>
    			<TD align = center class='onglet_td'>$TabTitre[0]</TD>
    			<TD align = center class='onglet_td'>$TabTitre[1]</TD>
    			<TD align = center class='onglet_td'>$TabTitre[2]</TD>
    			<TD align = center class='onglet_td'>$TabTitre[3]</TD>
    			<TD align = center class='onglet_td'>$TabTitre[4]</TD>
    			<TD align = center class='onglet_td'>$TabTitre[5]</TD>
    			<TD align = center class='onglet_td'>$TabTitre[6]</TD>
    			<TD align = center class='onglet_td'>$TabTitre[7]</TD>
    			<TD align = center class='onglet_td'>$TabTitre[8]</TD>
    			<TD align = center class='onglet_td'>$TabTitre[9]</TD>
    			<TD align = center class='onglet_td'>$TabTitre[10]</TD>
    			<TD align = center class='onglet_td'>$TabTitre[11]</TD>
    			<TD align = center class='onglet_td'>$TabTitre[12]</TD>
    			<TD align = center class='onglet_td'>$TabTitre[13]</TD>
    			<TD align = center class='onglet_td'>$TabTitre[14]</TD>			
    			<TD align = center class='onglet_td'>$TabTitre[15]</TD>			
    			<TD align = center class='onglet_td'>$TabTitre[16]</TD>
    			<TD align = center class='onglet_td'>$TabTitre[17]</TD>
    			<TD align = center class='onglet_td'>$TabTitre[18]</TD>
    			<TD align = center class='onglet_td'>$TabTitre[19]</TD>
    			<TD align = center class='onglet_td'>$TabTitre[20]</TD>
    			<TD align = center class='onglet_td'>$TabTitre[21]</TD>
    			<TD align = center class='onglet_td'>$TabTitre[22]</TD>			
    			<TD align = center class='onglet_td'>$TabTitre[23]</TD>
    			<TD align = center class='onglet_td'>$TabTitre[24]</TD>
    			<TD align = center class='onglet_td'>$TabTitre[25]</TD>
    			<TD align = center class='onglet_td'>$TabTitre[26]</TD>
    			<TD align = center class='onglet_td'>$TabTitre[27]</TD>
    		</TR>";
     
    	$numBoucle = 0;
     
    	while($ligne = mysql_fetch_assoc($resultat))
    		{	
    			$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["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 == 0)
    					{
    						$bgcolor = '#F3F8ED';
    					}
    					else
    						{
    							$bgcolor = '#C4D7ED';
    						}
     
    				echo "<TR bgcolor=".$bgcolor." align = center>
    						<TD nowrap='nowrap'>".$ligne["site"]."</TD>			<TD nowrap='nowrap'>".$ligne["ipsubnet"]."</TD>		  <TD nowrap='nowrap'>".$ligne["compname"]."</TD>	  <TD nowrap='nowrap'>".$ligne["userid"]."</TD>	    
    						<TD nowrap='nowrap'>".$ligne["userfullname"]."</TD> <TD nowrap='nowrap'>".$ligne["ip"]."</TD>             <TD nowrap='nowrap'>".$ligne["domain"]."</TD> 	  <TD nowrap='nowrap'>".$ligne["userdomain"]."</TD>   
    						<TD nowrap='nowrap'>".$ligne["os"]."</TD> 			<TD nowrap='nowrap'>".$ligne["sp"]."</TD> 		      <TD nowrap='nowrap'>".$ligne["smodel"]."</TD>       <TD nowrap='nowrap'>".$ligne["cpu"]."</TD> 	      
    						<TD nowrap='nowrap'>".$ligne["mhz"]."</TD>			<TD nowrap='nowrap'>".$ligne["ram"]."</TD> 		      <TD nowrap='nowrap'>".$ligne["timestamp"]."</TD>    <TD nowrap='nowrap'>".$ligne["lastboot"]."</TD>             	  
    						<TD nowrap='nowrap'>".$ligne["compname"]."</TD>     <TD nowrap='nowrap'>".$ligne["userid"]."</TD>		  <TD nowrap='nowrap'>".$ligne["userfullname"]."</TD> <TD nowrap='nowrap'>".$ligne["naiver"]."</TD> 	    
    						<TD nowrap='nowrap'>".$ligne["naidatver"]."</TD>    <TD nowrap='nowrap'>".$date."</TD> 	   			      <TD nowrap='nowrap'>".$age."</TD> 				  <TD nowrap='nowrap'>".$ligne["vnc"]."</TD> 	    	
    						<TD nowrap='nowrap'>".$ligne["vncstart"]."</TD> 	<TD nowrap='nowrap'>".$ligne["kixdir"]."</TD> 		  <TD nowrap='nowrap'>".$ligne["mysqldir"]."</TD>     <TD nowrap='nowrap'>".$ligne["outils"]."</TD>	      
    					</TR>";
    				$numBoucle++;
    		}
    	echo "</TABLE>";
    }

  13. #13
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Par défaut
    A première vue, rien de gênant.

    Tu peux remplacer tes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ligne["xxxxx"]=='' || $ligne["xxxxx"]== null
    par

    Je te laisse voir du coté de la fonction empty() pour les explications.


    Sinon, comment est appelée ta fonction tableau_session() ?
    Je ne suis pas schizophrène, nous sommes unanime !!!

    ► Pensez à la balise code et au CODE HTML GENERE !!!!
    ► Au si c'est le cas et au à ceux qui vous ont aidé.
    Vous souhaitez participer aux rubriques CSS et (X)HTML ? Contactez-nous !

    Créer des colonnes de même hauteur en CSS
    Glossaire CSS
    Les bordures en CSS3
    Les transitions en CSS3

  14. #14
    Membre confirmé
    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
    Par défaut
    tkt je connai empty, le truc c que l erreur est la dedan, je vai t envoyer le fichier appelant, mais l erreur est la c sur, car les requetes effectuer dans le fichier appelant je les test en copier coller sur php my admin et jobtien les bon affichage et donc je pense que c 'est la boucle while qui merde quelque par pour que je perde toujour la premiere ligne de resultat...

    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
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    echo "<BODY>";			 
    	echo "<FORM ALIGN='CENTER' METHOD='GET' ACTION='recherche_ParSite_saisie.php'></br></br></br></br>";
     
    	//Liste déroulante du critère "categorie"
    	echo "<table align='left'><tr><td>Choix du site par nom : </td>";
    	$rq = "SELECT DISTINCT site,ipsubnet FROM view_sessions ORDER BY site";
    	$resultat = executer_requete2($rq, "base");
    	$ligne = mysql_fetch_assoc($resultat);
    	echo '<td><select NAME="ip">';
    	echo '<option VALUE= -1> Liste des noms de sites </option>'; 
    	if($ligne)
    		{
    			while($ligne)
    				{	
    					$ip = $ligne['ipsubnet'];
    					$nomsite = $ligne['site'];
     
    					if($ip == "")
    						{
    							$ip = "sous reseau inconnu";
    						}
    						else
    							{
    								$ip = $ligne['ipsubnet'];
    							}
     
    					if(is_null($ligne['site']))
    						{
    							$nomsite = "site inconnu";
    						}
    						else
    							{
    								$nomsite = $ligne['site'];
    							}
    					echo "<option value='".$ligne['ipsubnet']."'>".$nomsite." -------- ".$ip."</option>";
    					$ligne = mysql_fetch_assoc($resultat);
    				}
    		}
    		else
    			{
    				echo "</br>";
    				echo "<TABLE BORDER=1 ALIGN='CENTER' WIDTH=40%>
    						<TR>
    							<TD align = center class='onglet_td'> Erreur </TD>
    						</TR>";
    			}
    		echo "</select></td>";
    		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 "categorie"
    		echo "<FORM ALIGN='CENTER' METHOD='GET' ACTION='recherche_ParSite_saisie.php'>";
    		echo "<table align='center'><tr><td>ou par r&eacute;seau :</td>";
    		$rq = "SELECT DISTINCT ipsubnet,site FROM view_sessions ORDER BY ipsubnetint32 ;" ;
    		$resultat = executer_requete2($rq, "base");
    		$ligne = mysql_fetch_assoc($resultat);
    		echo '<td><select NAME="ip">';
    		echo '<option VALUE= -1> Liste des reseaux IP </option>'; 
    			if($ligne)
    				{
    					while($ligne)
    						{
    							$ip = $ligne['ipsubnet'];
    							$site = $ligne['site'];
     
    							if($ip == "")
    								{
    									$ip = "sous reseau inconnu";
    								}
    								else
    									{
    										$ip = $ligne['ipsubnet'];
    									}
     
    							if($site == "")
    								{
    									$site = "site inconnu";
    								}
    								else
    									{
    										$site = $ligne['site'];
    									}					
    							echo "<option value='".$ligne['ipsubnet']."'>".$ip." -------- ".$site."</option>";
    							$ligne = mysql_fetch_assoc($resultat);
    						}
    				}
    				else
    					{
    						echo "</br>";
    						echo "<TABLE BORDER=1 ALIGN='CENTER' WIDTH=40%>
    								<TR>
    									<TD align = center class='onglet_td'> Erreur </TD>
    								</TR>";
    					}
    		echo "</select></td></tr>";    
    		echo "<tr><td colspan=3 align=center><INPUT TYPE='SUBMIT' value='OK'/><INPUT TYPE='RESET' value='Annuler'/>";	
    		echo "</td></tr></table></form></br></br></br></br>";
    		// 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);
    									}
    									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
    						{
    							echo "</br>";
    							echo "<TABLE BORDER=1 ALIGN='CENTER' WIDTH=40%>
    									<TR>
    										<TD align = center class='onglet_td'>Choisissez un nom de site ou un reseau IP</TD>
    									</TR>
    								  </TABLE>";
    						}
     
    			}
    	  echo"</body>";

  15. #15
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    J'ai l'impression de voir un code différent à chaque fois J'suis perdu là

    Pour le dernier code, si îp est vide, tu risque pas d'avoir de création d'une ligne dans ta liste avec le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo "<option value='".$ligne['ipsubnet']."'>".$nomsite." -------- ".$ip."</option>";
    C peut être pour celà que tu as pas la première ligne et voir d'autres lignes dans la liste

  16. #16
    Membre confirmé
    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
    Par défaut
    si regarde, j y gere dans la liste deroulante, si ip est vide je lui affecte une valeur par defaut ( ps : c est normal ya deux codes, le premier fait parti d un fichier fonction que j appel et le deuxieme est celui qui appel la fonction tableau_session de mon fichier de fonction et ne cherche pas de rapport avec le tout debu du post, il s agit toujour d une erreur de while mais ce n est plus le meme while et plus les meme fichier ^^)

  17. #17
    Membre confirmé
    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
    Par défaut
    j ai trouver la solution ct bien mon while qui merdait,

    jai remplacer le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while ($ligne = mysql_fetch_assoc($resultat))
    par

    et juste avant la fin du while et apres mon tableau

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    </tr> $ligne=mysql_fetch_assoc($resultat);
    et sa roule

  18. #18
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Par défaut
    Ouais m'enfin notre remarque de départ reste la même pour les while de ce fichier.

    Exemple :
    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
    //Liste déroulante du critère "categorie"
    echo "<table align='left'><tr><td>Choix du site par nom : </td>";
    $rq = "SELECT DISTINCT site,ipsubnet FROM view_sessions ORDER BY site";
    $resultat = executer_requete2($rq, "base");
    echo '<td><select NAME="ip">';
    echo '<option VALUE= -1> Liste des noms de sites </option>';
     
    if (mysql_num_rows($resultat)) {
        while($ligne = mysql_fetch_assoc($resultat)) {
            $ip = $ligne['ipsubnet'];
            $nomsite = $ligne['site'];
     
            if($ip == "") {
                $ip = "sous reseau inconnu";
            }
            else {
                $ip = $ligne['ipsubnet'];
            }
     
            if(is_null($ligne['site'])) {
                $nomsite = "site inconnu";
            }
            else {
                $nomsite = $ligne['site'];
            }
            echo "<option value='".$ligne['ipsubnet']."'>".$nomsite." -------- ".$ip."</option>";
        }
    }
    C'est la même chose pour la deuxième boucle.

    De plus ceci est inutile, puisque tu as déjà fait le test un cran au dessus, tu as donc toujours $rq de disponible.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    //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."';";
            }
    Enfin, pourquoi passer $ligne en paramètre de la fonction tableau_session() ? il n'est jamais utilisé.
    Je ne suis pas schizophrène, nous sommes unanime !!!

    ► Pensez à la balise code et au CODE HTML GENERE !!!!
    ► Au si c'est le cas et au à ceux qui vous ont aidé.
    Vous souhaitez participer aux rubriques CSS et (X)HTML ? Contactez-nous !

    Créer des colonnes de même hauteur en CSS
    Glossaire CSS
    Les bordures en CSS3
    Les transitions en CSS3

  19. #19
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Franchement, j'ai pas tout compris (en plus le dernier code est comme tu viens de l'expliquer) ... de plus je vois pas le pb ... le fetch dans le while c la méthode courante et propre ...

    Bref si ça marche, c'est cool mais je pars avec l'envie de prendre un café

  20. #20
    Membre confirmé
    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
    Par défaut
    pour torgar, le but du renomage de $rq n'etait pas dans un esprit de codage mais de facilité de lisibilité du code, ayant de tres nombreuses page contenant enormement de code chacune si je ne fait pas des numerotations a force de scoller on sy perd et c un coup a tourner la carte au bout de 2 h ^^

    pour fench , j'ai vu que c la convention classique mais apparament chez moi sa marche pas ^^ squi compte jai envi de dire c est le resultat ^^
    meme moi sa m arrive de m y perdre dans mon code, jai tellement de ligne total sur mes fichier que c un truc a devenir bargo a la fin quand tu doit tt lire ^^

    sur ce merci messieurs pour votre aide

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

Discussions similaires

  1. [SQL] Help probleme de while !
    Par jfjava2002 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 10/01/2006, 17h24
  2. Probleme SQL prepareStatement JAVA
    Par grizzz dans le forum Langage SQL
    Réponses: 12
    Dernier message: 05/08/2005, 11h29
  3. Petit probleme sql
    Par maxxou dans le forum Langage SQL
    Réponses: 3
    Dernier message: 21/03/2005, 11h49
  4. probleme SQL pour expert
    Par murlock7 dans le forum Langage SQL
    Réponses: 11
    Dernier message: 16/12/2004, 11h24
  5. probleme sql avec delphi
    Par lil_jam63 dans le forum Bases de données
    Réponses: 7
    Dernier message: 25/02/2004, 04h32

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