ran-tan-plan Posté(e) le 2 juillet 2003 Partager Posté(e) le 2 juillet 2003 hello $order = ( isset($_GET['order']) ) ? intval($_GET['order']) : 0; if($order=="cname"){$query = 'SELECT * FROM articles order by nom ASC';} elseif($order=="dname"){$query = 'SELECT * FROM articles order by auteur ASC';} je comprend pas pourquoi avec ce code il prend toujours en compte le premier if meme si la condition n'est pas remplie. je m'explique: la premiere ligne prend la variable $order qui est contenue dans l'url. Si l'url est index.php?page=2&order=cname, il validera le premier if et utilisera la requete $query = 'SELECT * FROM articles order by nom ASC'; Mais si l'url est index.php?page=2&order=dname, il validera quand meme le premier if et je ne comprend pas pourquoi vous pouvez m'aider? Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 2 juillet 2003 Partager Posté(e) le 2 juillet 2003 T'es sûr que le problème se situe ici ? Pour moi l'instruction ternaire et le if sont corrects. Lien vers le commentaire Partager sur d’autres sites More sharing options...
ran-tan-plan Posté(e) le 2 juillet 2003 Auteur Partager Posté(e) le 2 juillet 2003 si j'enleve ca $order = ( isset($_GET['order']) ) ? intval($_GET['order']) : 0; et que je met $order="dname"; ou $order="cname"; ca marche. Pourtant il ne devrait pas y avoir de probleme avec la premiere ligne car elle marche tres bien dans d'autres cas. Lien vers le commentaire Partager sur d’autres sites More sharing options...
emerica Posté(e) le 2 juillet 2003 Partager Posté(e) le 2 juillet 2003 Pourquoi tu fais intval($_GET['order']) ? Tu prends la valeur entiere dune string ? Dans tous les cas tu aura 0! Soit tu supprimes le premier if et tu remplaces dans le deuxieme if $order par $_GET['order'], soit tu fais en simple : if(isset($_GET['order']) { $order = $_GET['order']; } Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 2 juillet 2003 Partager Posté(e) le 2 juillet 2003 Pourquoi tu fais intval($_GET['order']) ? Tu prends la valeur entiere dune string ? Dans tous les cas tu aura 0! Soit tu supprimes le premier if et tu remplaces dans le deuxieme if $order par $_GET['order'], soit tu fais en simple : if(isset($_GET['order']) { $order = $_GET['order']; } C'est la même chose. Quand à intval, je me posait la même question. C'est bizare. Lien vers le commentaire Partager sur d’autres sites More sharing options...
emerica Posté(e) le 2 juillet 2003 Partager Posté(e) le 2 juillet 2003 Bah oui cest la meme chose, mais mettre un if devant pour faire une assignation conditionnelle cetait sa methode, alors que moi jaurais repris chaque fois la valeur 'order' dans le tableau $_GET. Lien vers le commentaire Partager sur d’autres sites More sharing options...
ran-tan-plan Posté(e) le 2 juillet 2003 Auteur Partager Posté(e) le 2 juillet 2003 ouais c'est vrai que le intval n'etait pas nécessaire dans cette situation la. Je n'y avais pas fait gaffe. Thank you very much Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.