Aller au contenu

[PHP]probleme de if bizzard


Messages recommandés

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

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

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

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...