pb dans un while

pb dans un while - PHP - Programmation

Marsh Posté le 06-07-2004 à 10:24:04    

salut à tous j'ai un petit soucis:
 
voici ce que je fait
 
<script langage=javascript>
...
<?
$res = $bd->execRequete("select distinct numNoRang from série where cléParcelle ='".$parcelle."'" );
 
echo "alert(\"Le num de rang est \"+document.forms.form_ajout_serie.rang.value);";  
   
  while ($num_rang = $bd->objetSuivant($res))
  {  
   echo "alert(\"num ds bdd :\"+$num_rang->numNoRang);";
   
   echo "alert(\"val du champ rang = \"+document.forms.form_ajout_serie.rang.value);";
   if(($num_rang->numNoRang)==(document.forms.form_ajout_serie.rang.value))
   {
    echo "alert(\"ok\" );";  
   }
   
 
   
       
  }
   
?>
...
</script>
 
le pb est que je ne rentre jamais dans mon if alors que $num_rang->numNoRang me renvoit {1,2,3} et document.form.ajout...value vaut 1  
donc théoriquement le while devrait entrer dans ma boucle au premier tour et donc afficher le message javascript alert("ok" );

Reply

Marsh Posté le 06-07-2004 à 10:24:04   

Reply

Marsh Posté le 06-07-2004 à 10:32:20    

Je te rapelle que  
- PHP est évalué au niveau du serveur
- JS est évalué chez le client.
PHP ne peut donc pas te renvoyer une alert("ok" ) dans la boucle while. Pour PHP document.form.ajout...value est une simple chaine de caractère sans autre valeur.


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 06-07-2004 à 10:39:40    

ok merci
mais ce qui me pose pb dans ce que te dis par rapport a mon pb c ke j'arrive a faire une alert($num_rang->numNoRang) et une alert(document...value)
 
ne serait-il pas possible de faire du cast en forcant les deux types pour en faire des nombres puis de les comparer ??
 

Reply

Marsh Posté le 06-07-2004 à 10:47:55    

alert($num_rang->numNoRang) ne peut pas fonctionner
 
alert() => niveau JS
$num_rang->numNoRang => niveau PHP
 
($num_rang->numNoRang)==(document.forms.form_ajout_serie.rang.value) impossible à comparer car les deux n'existent pas en même temps
 
Vérifie le code généré par PHP, c'est en analysant celui là que tu pourras comprendre comment il faut corriger ton script


Message édité par T509 le 06-07-2004 à 11:03:23

---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 06-07-2004 à 10:58:06    

ok je vais voir merci bcp our tes conseils

Reply

Marsh Posté le 06-07-2004 à 10:59:36    

évite également de mettre des caractères accentués dans tes tables/champs


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 06-07-2004 à 11:04:17    

T509 a écrit :

alert($num_rang->numNoRang) ne peut pas fonctionner
 
alert() => niveau JS
$num_rang->numNoRang => niveau PHP
 
($num_rang->numNoRang)==(document.forms.form_ajout_serie.rang.value) impossible à comparer car les deux n'existent pas en même temps
 
Vérifie le code généré par PHP, c'est en analysant celui là que tu pourras comprendre comment il faut corriger ton script


 
Il faut vraiment que tu ailles lire des tutos acquérir les bases de PHP


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 06-07-2004 à 11:06:56    

ok mais où trouver des tutos correctes qui expliquent bien ces nuances là....
 
j'ai le bouquain d'Oreilly pratique de php et MySQL mais il en parle pas trop

Reply

Marsh Posté le 06-07-2004 à 11:07:57    

c'est quand même les bases. tu as du raté l'introduction à l'acrhitecture clent serveur


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 06-07-2004 à 11:16:02    

Mais il est expliqué page 34 de ce bouquin que javascript permet de faire de la programmation au niveau du client
 
Il faut que tu saches que le web fonctionne de manière "déconnectée". C'est à dire que les information sont envoyées et on ne s'en occupe plus. Il n'y a pas de lien vivace entre ta page web sur le serveur et celle qui est affichée chez ton visiteur.
 
La seule interaction possible entre javascript et PHP est lors de la soumission d'onformations au serveur par la commande .submit.
 
Comparer des variables JS avec des variables PHP n'a pas de sens. C'est comme si tu voulais actuellement comparer les qualités en vol d'un Airbus A380 et d'un Boeing 747-400. C'est impossible puisque le premier n'existe pas encore.
 
Va faire un tour sur phpdebutant.org, phpteam.net, ... et relis ton bouquin.


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 06-07-2004 à 11:16:02   

Reply

Marsh Posté le 06-07-2004 à 11:29:16    

ok merci des conseils

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed