Soul EX
Messages postés26Date d'inscriptionmercredi 17 août 2005StatutMembreDernière intervention 8 janvier 2006
-
8 janv. 2006 à 15:16
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 2015
-
10 janv. 2006 à 00:40
Bonjour à tous,
voici le code sur lequel j'ai travaillé :
. Il s'avère que dans ce code réside un problème car le formulaire (surligné en rouge) ne fonctionne pas.
Tout s'affiche normalement mais lorsque l'on clique sur le lien submit rien ne se passe.
Autre chose étonnante c'est que lorsque je sors de la boucle (oui il s'agit d'une boucle) le "
<form method="post" name="details" action="http://www.up-rue.com/detailsparties.php">" l'action du formulaire s'effectue. Evidemment, puisque l'on est dans une boucle rien ne correspond mais bon.
Est-ce que quelqu'un voit la nature du problème?
Si oui d'avance merci
SOUL
et ca plusieurs fois ..... (en tout cinq)
Et bien sur lorsque je me rend sur la page en question, et que je clique sur N'IMPORTE QUEL submit du tableau, il utilise les mêmes données (a savoir celles du premier enregistrement de la table order by ID).
Je ne comprends absolument pas ce qu'il se passe.
Pour plus de compréhension de votre page je vous invite à visualiser la page en question :
http://www.up-rue.com/classements.php
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 8 janv. 2006 à 19:03
ouais enfin là tu me donnes pas la bonne portion de code qui gère ta requête, donne-nous ton code qui génère la requête en fonction du classement y'a une erreur dedans :-)
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 8 janv. 2006 à 19:34
order by points_officiel desc, nom
ta requête ne change jamais d'ordre, il faut changer l'ordre en fonction des variables que tu reçois en POST
<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
Soul EX
Messages postés26Date d'inscriptionmercredi 17 août 2005StatutMembreDernière intervention 8 janvier 2006 8 janv. 2006 à 20:04
???
Je ne comprends pas... peut être n'aies-je pas été assez clair.. pardonne moi. Je reprend depuis le début.
J'ai le tableau qui affiche tous les enregistrements (la question de l'ordre n'intervenant pas dans mon problème), un enregistrement par ligne (logique).
Cet affichage s'effectue avec la fonction SWITCH.
A chaque ligne (ou chaque enregistrement), j'ai un formulaire contenant 3 champs hidden et 1 submit sous forme de lien. Les valeurs des trois champs hidden sont selctionnées dans la base de donnée et j'ai vérifié, à chaque ligne ces données sont différentes.
Bon jusqu'a la tout fonctionne bien.
Le but recherché est que, lorsque le bouton submit et cliqué, les données des champs hidden soient repportées sur la page 'action' du formulaire (qui est la meme pour chaque ligne).
Etant donné que chaque ligne est différente, lorsque on clique sur chaque bouton submit tour a tour on devrait voir que la page action comporte des données différentes.
Et bien non, sur cette page s'affichent toujours les même données, à savoir les données de la PREMIERE LIGNE du tableau. Voila le problème.
et voici maintenant mon code source complet :
if($affichage==='Nombre de points (officiel)')
{
$requete3 = "select * from class_indivs_members order by points_officiel desc, nom";
}
elseif($affichage==='Nombre de points (à la dernière mise à jour)')
{
$requete3 = "select * from class_indivs_members order by points_maj desc, points_officiel desc";
}
elseif($affichage==='Progression') {
$requete3 = "select * from class_indivs_members order by progression desc, points_officiel desc";
}
elseif($affichage==='Ordre alphabétique') {
$requete3 = "select * from class_indivs_members order by nom, prenom";
}
else
{
$requete3 = "select * from class_indivs_members order by points_officiel desc, nom";
}
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 8 janv. 2006 à 20:12
if($affichage==='Nombre de points (officiel)')
{
$requete3 = "select * from class_indivs_members order by points_officiel desc, nom";
}
elseif($affichage==='Nombre de points (à la dernière mise à jour)')
{
$requete3 = "select * from class_indivs_members order by points_maj desc, points_officiel desc";
}
elseif($affichage==='Progression') {
$requete3 = "select * from class_indivs_members order by progression desc, points_officiel desc";
}
elseif($affichage==='Ordre alphabétique') {
$requete3 = "select * from class_indivs_members order by nom, prenom";
}
else
{
$requete3 = "select * from class_indivs_members order by points_officiel desc, nom";
}
change tes valeurs, et passe par des valeurs de style
<select name="blabla">...
<option valeur="1">Classement alphabétique</option>
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 8 janv. 2006 à 20:56
lorsque t'envoies des données avec accents, espaces... elles sont en général encodées par le navigateur. je te conseille de mettre des valeurs simples (alphanumériques) pour tes champs. ça ne fonctionne toujours pas mais là je n'ai plus d'idée désolé :-(
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 10 janv. 2006 à 00:40
Pas forcément... switch (true) sert à savoir quelles conditions est déclarés VRAI.
Je peux faire l'opération inverse :
$x = 6;
switch (false) {
case ( $x < 4 ):
$var = 'yes';
break;
case ( $x > 4 ):
$var = 'no';
break;
}
echo $var; // affichera 'yes';
Par contre, avant d'aller plus loin, il faut raccourcir ton code !
"f($affichage==='Nombre de points (officiel)')
{
$requete3 = "select * from class_indivs_members order by points_officiel desc, nom";
}
elseif($affichage==='Nombre de points (à la dernière mise à jour)')
{
$requete3 = "select * from class_indivs_members order by points_maj desc, points_officiel desc";
}
elseif($affichage==='Progression') {
$requete3 = "select * from class_indivs_members order by progression desc, points_officiel desc";
}
elseif($affichage==='Ordre alphabétique') {
$requete3 = "select * from class_indivs_members order by nom, prenom";
}
else
{
$requete3 = "select * from class_indivs_members order by points_officiel desc, nom";
}"
>
$sql = 'SELECT * FROM class_indivs_members ORDER BY ';
switch ( $affichage ) {
case 'Nombre de points (officiel)':
$sql .= 'points_officiel desc, nom';
break;
case 'Nombre de points (à la dernière mise à jour)':
$sql .= 'points_maj desc, points_officiel desc';
break;
//etc...
}
$q = mysql_query($sql);
Par contre y'a un bug. Tu parles de $affichage... ca vient d'ou ? Variable d'URL ??
Variable de formulaire ? Je crois que c'est variable d'URL, donc $affichage devient $_GET['affichage'].
De plus, quand tu envoie ton formulaire, tu oublies de reparler de ta variable d'URL !!
<form action="www.tonsite.com/formulaire.php?affichage=ce_que_tu_veux_sans_espace">
De toutes facon, dégage les espaces pour commencer sur tes variables... c'est illisible !