Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2838 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  probleme comparaison de variable

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

probleme comparaison de variable

n°902426
gaetancop
Posté le 19-11-2004 à 01:12:09  profilanswer
 

je cree un menu déroulant en php avec une requete mysql et je voudrai ajouter l'option isselected (ou dans le genre je c plus de tete) mais j'arive a comparer 2 variable enfin pas à cet endroit :  
 

Citation :


<select NAME="classe" onChange="actualise_classe();" style="background-color:teal; color:yellow" size="1">
<option>
<?php
 
include "connect.php";
$query = "SELECT distinct classe FROM emprunteur";
$result = mysql_query($query);
if (mysql_num_rows($result) > 0) {
 while ($row = mysql_fetch_array($result)) {
  $class= $row['classe'];
   
  echo "<option value=\"empRetourLivres.php?cla=$class&no=$nom&pren=$prenom\" >$class";
 
// IL EST LA LE PROBLEME ($classe c la variable ke je récupere dans la page lors de l'actualisation donc si class=classe alors il fo selectionner l'option mias comme ca ca marche pa (pr l'instan j'essai juste d'ajouter un mess dans l'option
 
if ($class===$classe){
 echo " salut";
}
 
echo "</option>";  
 }
}
?>
</select>


 
merci d'avance à ceux ki se pencheront sur mon prob.

mood
Publicité
Posté le 19-11-2004 à 01:12:09  profilanswer
 

n°902437
naceroth
Posté le 19-11-2004 à 04:08:13  profilanswer
 

Pourquoi un === plutôt qu'un simple == ?

n°902442
gaetancop
Posté le 19-11-2004 à 07:02:20  profilanswer
 

oui je c j'ai oddi essayé le == ca marche pa non plus

n°902445
Ayuget
R.oger
Posté le 19-11-2004 à 07:23:33  profilanswer
 

Code :
  1. $classe = $_REQUEST["classe"];


?


Message édité par Ayuget le 19-11-2004 à 07:23:41
n°902447
gaetancop
Posté le 19-11-2004 à 07:30:13  profilanswer
 

je récupere déja la var classe ds le tablo request. j'avai essayé de faire un test if (class==classe) pr afiché un mess et avan le if j'afiché la valeur des var. un momen ell sont bien égal mais rien ne s'affiché.

n°902511
bob007
Posté le 19-11-2004 à 09:19:21  profilanswer
 

Code :
  1. <select NAME="classe" onChange="actualise_classe();" style="background-color:teal; color:yellow" size="1">
  2. <?php
  3. include "connect.php";
  4. $query = "SELECT distinct classe FROM emprunteur";
  5. $result = mysql_query($query);
  6. if (mysql_num_rows($result) > 0)
  7. {
  8. while ($row = mysql_fetch_array($result))
  9. {
  10.   $class= $row['classe'];
  11.  
  12.   echo "<option value=\"empRetourLivres.php?cla=" . $class . "&no=" . $nom . "&pren=" . $prenom . "\" >" . $class;
  13. // IL EST LA LE PROBLEME ($classe c la variable ke je récupere dans la page lors de l'actualisation donc si class=classe alors il fo selectionner l'option mias comme ca ca marche pa (pr l'instan j'essai juste d'ajouter un mess dans l'option
  14. //en supposant que $classe = $_REQUEST['class'];  
  15. if ($class == $classe)
  16. {
  17. echo " salut";
  18. }
  19. echo "</option>\n"; 
  20. }
  21. }
  22. ?>
  23. </select>


 
normalement $classe est égal à quoi? parce que la ton $class il est égal à:
empRetourLivres.php?cla=" . $class . "&no=" . $nom . "&pren=" . $prenom  
 
qui lui meme dépend de $class. Enfin tu vois l'histoire quoi! :)

n°902966
Ayuget
R.oger
Posté le 19-11-2004 à 17:09:48  profilanswer
 

oui enfin bon là c'est un peu normal nan?
En écrivant salut en plein milieu de ton select, tu risque pas de le voir.

n°902983
sielfried
Posté le 19-11-2004 à 17:38:58  profilanswer
 

Ayuget a écrit :

oui enfin bon là c'est un peu normal nan?
En écrivant salut en plein milieu de ton select, tu risque pas de le voir.


 
Il l'a mis dans les options.
 
Pour répondre au soucis de base, ben je sais pas, echo $_REQUEST['classe'] ne t'affiche rien du tout après avoir soumis ?


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°903008
gaetancop
Posté le 19-11-2004 à 18:29:25  profilanswer
 

donc voi si je fé :  

Citation :


if (mysql_num_rows($result) > 0) {
    while ($row = mysql_fetch_array($result)) {
        $class= $row['classe'];
         
        echo "<option value=\"empRetourLivres.php?cla=$class&no=$nom&pren=$prenom\" >$class";
if ($class==$classe){
    echo " salut";
}echo "classe=$classe","class=$class";  
echo "</option>";


 
dans le menu il me met :
-> CM1 classe=PSclass=CM1
-> CM2 classe=PSclass=CM2
...
quand j'arrive a PS il affiche toujours le meme :
-> PS classe=PSclass=PS
mais il ne me mets pa le "salut"
 
avant j'affiche la variable classe (ki correspon au champs selectionne dans ce menu dans la page précédente(enfin avant d'etre actualisé))elle m'affiche bien PS comme dans le menu !
(c'était pas mal les double paranthese !! mdr)
donc je compren pa pk il m'affiche bien les 2var identique ("PS classe=PSclass=PS" ) et k'il ne rentre pas dans le if ...

n°903014
gaetancop
Posté le 19-11-2004 à 18:34:38  profilanswer
 

a moins ke kelk1 puissent me doné le code pr faire ca en javascript et l'inséré dans mon code (qui c ? ca pouré pe etr marcher ! lol)

mood
Publicité
Posté le 19-11-2004 à 18:34:38  profilanswer
 

n°903015
Ayuget
R.oger
Posté le 19-11-2004 à 18:35:47  profilanswer
 

Sielfried a écrit :

Il l'a mis dans les options.


Exact j'avais pas vu.
+1 pour la valeur de retour de $_REQUEST["classe"]

n°903029
gaetancop
Posté le 19-11-2004 à 18:54:38  profilanswer
 

Si j'affiche echo $_REQUEST['cla'] (tjrs dans le select apré le if) il m'afiche bien ma variable. J'ai mis cla car le nom de la var ki é passé en parametre de ma page.

n°903159
gaetancop
Posté le 19-11-2004 à 20:30:29  profilanswer
 

kelk1 ve pe etr le code entier de la page (je pe le commenter si il faut) ?

n°903216
Ayuget
R.oger
Posté le 19-11-2004 à 22:02:11  profilanswer
 

gaetancop a écrit :

kelk1 ve pe etr le code entier de la page (je pe le commenter si il faut) ?


oui (et entre balises [code] stp)

n°903232
gaetancop
Posté le 19-11-2004 à 22:31:56  profilanswer
 

voila le code en intégrale (j'espere k'il va bien passé avec les balise (je coné lé coné pa core sur ce forum)
 

Code :
  1. <?
  2. // affichage des var nom et classe (prenom ne marche pa car il n'y a pas de fonction actualise_prenom')
  3. $classe=$_REQUEST["cla"];
  4. echo $classe; 
  5. $nom=$_REQUEST["no"];
  6. echo $nom;
  7. $prenom=$_REQUEST["pren"];
  8. echo $prenom;
  9. ?>
  10. <html>
  11. <head>
  12. <meta name="generator" content="HTML Tidy, see www.w3.org">
  13. <title>emp</title>
  14. </head>
  15. <body>
  16. <form name="eleve" action="empruntVal.php">
  17. <div align="center">
  18. <center>
  19. <p>Classe &nbsp;&nbsp; <select name="classe" onchange=
  20. "actualise_classe();" style="background-color:teal; color:yellow"
  21. size="1">
  22. <option>
  23. <?php
  24. // création des option du menu déroulant classe en recherchant dans la table emprunteur les diferente classe existantes   
  25. include "connect.php";
  26. $query = "SELECT distinct classe FROM emprunteur";
  27. $result = mysql_query($query);
  28. if (mysql_num_rows($result) > 0) {
  29.     while ($row = mysql_fetch_array($result)) {
  30.         $class= $row['classe'];
  31.        
  32.         echo "<option value=\"empRetourLivres.php?cla=$class&no=$nom&pren=$prenom\" >$class";
  33. // il est là le probleme !
  34. if ($class==$classe){
  35.     echo " salut";
  36. }echo "classe=$classe","class=$class"; 
  37. echo $_REQUEST['cla'];
  38. // ici classe correspon bien la var qui est en parametre de la page et class corespon a la classe de l'option en cour de traitement (tout s'affiche) et le $_REQUEST['cla'] corespon bien a $classe
  39. echo "</option>";
  40.    
  41.     }
  42. }
  43. ?>
  44. </option>
  45. </select></p>
  46. </center>
  47. </div>
  48. <!-- creation du menu déroulant nom sur le meme rincipe ke le précedent il se mets bien a jour lorsque je change de classe -->
  49. <div align="center">
  50. <center>
  51. <p>Nom &nbsp;&nbsp; <select name="nom" onchange="actualise_nom();"
  52. style="background-color:teal; color:yellow" size="1">
  53. <option><?php
  54. include "connect.php";
  55. $quer = "SELECT nom from emprunteur WHERE classe LIKE '%$classe%'";
  56. $resul = mysql_query($quer);
  57. if (mysql_num_rows($resul) > 0) {
  58.     while ($res = mysql_fetch_array($resul)) {
  59.         $n= $res['nom'];
  60.    
  61.         echo "<option
  62. value=\"empRetourLivres.php?cla=$classe&no=$n&pren=$prenom\" >$n";
  63.     }
  64. }
  65. ?></option>
  66. </select></p>
  67. </center>
  68. </div>
  69. <!-- creation du menu déroulant prénom sur le meme rincipe ke le précedent il se mets bien a jour lorsque je change de nom -->
  70. <div align="center">
  71. <center>
  72. <p>pr&eacute;nom &nbsp;&nbsp; <select name="prenom" style=
  73. "background-color:teal; color:yellow" size="1">
  74. <option><?php
  75. include "connect.php";
  76. $quer = "SELECT prenom from emprunteur WHERE classe LIKE
  77. '%$classe%' AND nom LIKE '%$nom%' ";
  78. $resul = mysql_query($quer);
  79. if (mysql_num_rows($resul) > 0) {
  80.     while ($res = mysql_fetch_array($resul)) {
  81.        
  82.         $p= $res['prenom'];
  83.         echo "<option
  84. value=\"empRetourLivres.php?cla=$class&no=$n&pren=$p\" >$p";
  85.     }
  86. }
  87. ?>
  88. </option>
  89. </select></p>
  90. </center>
  91. </div>
  92. <!-- zone de saisie pour le numéro du livre (fonctione) puis validation du formulaire -->
  93. <div align="center">
  94. <center>
  95. <p>N&deg; du livre &nbsp;&nbsp;<input type="text" name="idl" value=
  96. "">
  97. <input type="submit" value="Rechercher" name="Rechercher"></p>
  98. </center>
  99. </div>
  100. </form>
  101. <!-- les fonction javascript qui me permettent d'actualiser ma page a chaque changement du nom ou de la classe-->
  102. <script type="text/javascript">
  103. function actualise_classe() {
  104. var site = document.eleve.classe.selectedIndex;
  105. {
  106. window.location.href = document.eleve.classe.options[site].value;
  107. }
  108. }
  109. function actualise_nom() {
  110. var site = document.eleve.nom.selectedIndex;
  111. {
  112. window.location.href = document.eleve.nom.options[site].value;
  113. }
  114. }
  115. </script>
  116. <br>
  117. <br>
  118. </body>
  119. </html>


 
et voici une capture du menu classe avec les test (pareil, en esperant ke ca passe) :
 
[img]C:\Documents and Settings\Gaetan Portable\Mes documents\Mes images\screen.jpg[/img]
(c moin évident ke ce soit passé vu ke ca vien de mon dur)

n°903408
gaetancop
Posté le 20-11-2004 à 13:30:43  profilanswer
 

si ca interesse klk1 la solution à mon probleme est :  

Code :
  1. if (trim ($class)== trim($classe)){
  2.     echo " salut";
  3. }echo "classe=$classe","class=$class";


 
MERCI JULIEN !!
 
en fait la fonction d'apres ce k'il m'a expliqué permet d'éliminé les caractere spéciaux. j'ai bien expliqué ?

n°903416
Ayuget
R.oger
Posté le 20-11-2004 à 13:54:16  profilanswer
 

gaetancop a écrit :

si ca interesse klk1 la solution à mon probleme est :  

Code :
  1. if (trim ($class)== trim($classe)){
  2.     echo " salut";
  3. }echo "classe=$classe","class=$class";


 
MERCI JULIEN !!
 
en fait la fonction d'apres ce k'il m'a expliqué permet d'éliminé les caractere spéciaux. j'ai bien expliqué ?


trim() ca vire les espaces en début et fin de chaîne.


Message édité par Ayuget le 20-11-2004 à 13:54:24
n°903577
gaetancop
Posté le 20-11-2004 à 18:17:11  profilanswer
 

merci pr la précision


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  probleme comparaison de variable

 

Sujets relatifs
Compiler du C sous OSX - probleme -Problème de "put"
Problème javabeans : jar impossible à lancer dans la beanboxProbleme de boutton
probleme de transfert ftpprobleme avec innerHTML et mozilla
Votre avis sur la façon de faire: passage de variable[PHP] une page html en une variable php
probleme de requete[resolu]variable globale et css
Plus de sujets relatifs à : probleme comparaison de variable


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR