ran-tan-plan Posted July 2, 2003 Share Posted July 2, 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? Link to comment Share on other sites More sharing options...
theocrite Posted July 2, 2003 Share Posted July 2, 2003 T'es sûr que le problème se situe ici ? Pour moi l'instruction ternaire et le if sont corrects. Link to comment Share on other sites More sharing options...
ran-tan-plan Posted July 2, 2003 Author Share Posted July 2, 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. Link to comment Share on other sites More sharing options...
emerica Posted July 2, 2003 Share Posted July 2, 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']; } Link to comment Share on other sites More sharing options...
theocrite Posted July 2, 2003 Share Posted July 2, 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. Link to comment Share on other sites More sharing options...
emerica Posted July 2, 2003 Share Posted July 2, 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. Link to comment Share on other sites More sharing options...
ran-tan-plan Posted July 2, 2003 Author Share Posted July 2, 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 Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.