Jump to content

[PHP]probleme de if bizzard


Recommended Posts

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

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

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

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

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...