SQL : Plusieurs possibilités pour where

Luke -  
 Luke -
Alors voilà j'ai un petit problème.
Je ne connais pas grand chose au SQL alors je me tourne vers vous.

Pour accéder à l'épisode 1 de mon site, je fais
mondomaine.com/episode.php?id=1
Et dans le fichier PHP, ça donne ça :
$retour = mysql_query("select * from episode where id=$id");

Mais je voudrais que le lien pour accéder à l'épisode 1 soit
mondomaine.com/episode.php?saison=1&episode=1
donc je fais
$retour = mysql_query("select * from episode where saison=$saison AND episode=$episode");
Et ça fonctionne

Mon problème, c'est qu'en faisant ça, le lien mondomaine.com/episode.php?id=1 ne fonctionne plus

et je voudrais que l'épisode soit accessible par
mondomaine.com/episode.php?id=1
ET PAR
mondomaine.com/episode.php?saison=1&episode=1

j'ai essayer de faire
$retour = mysql_query("select * from episode where id=$id OR saison=$saison AND episode=$episode");

mais ça fonctionne pas

Je sais bien que c'est pas très clair, mais je ne sais pas comment expliquer.

En tous cas, merci à ceux qui prendront le temps de me répondre
A voir également:

4 réponses

HostOfSeraphim Messages postés 7340 Statut Contributeur 1 608
 
Si tu ne mets que episode=1, comment on définit saison ? Logiquement, il y a autant d'épisodes 1 que de saisons ? C'est bien cela ?

0
Luke
 
J'ai pas très bien compris :s
Je n'ai pas mis que episode=1, pour avoir l'épisode 1 de la saison 1, je mets saison=1&episode=1
Oui, il y a bien autant d'épisode 1 que de saisons
0
HostOfSeraphim Messages postés 7340 Statut Contributeur 1 608
 
Donc il y a bien :

Saison 1 Episode 1
Saison 1 Episode 2
Saison 1 Episode 3
Saison 2 Episode 1
Saison 2 Episode 2
Saison 2 Episode 3

Si tu mets saison=1&episode=1, OK, il n'y a qu'un épisode possible, donc impossible de trouver le bon épisode.

Dans ce cas, pourquoi se poser la question de episode=1 ? Il suffit de ne pas le mettre dans le fonctionnement de ton site... et à la limite on peut prévoir dans le script que si saison n'est pas défini, on affiche un message d'erreur ou alors on met saison à 1 par défaut.

0
Luke
 
Je pense qu'il y a un malentendu (ou alors je comprends vraiment que dalle).

id=1 correspond à saison=1&episode=1

et je voudrais que l'épisode 1 de la saison 1 soit accesible via l'url
episode.php?id=1
ET
episode.php?saison=1&episode=1

Donc ces 2 syntaxes doivent donner le même résultat

Le problème, c'est que ça, ça ne marche pas :
$retour = mysql_query("select * from episode where id=$id OR saison=$saison AND episode=$episode");
0
HostOfSeraphim Messages postés 7340 Statut Contributeur 1 608
 
Donc... episode=1 mènerait vers l'épisode 1 de la saison 1... mais si il y a un épisode 1 dans la saison 2 ?


0
Luke
 
Ben on va faire episode=1&saison=2
et si on met episode=1 tout seul, ca mettra une page d'erreur.

Mais le problème n'est pas vraiment là, c'est surtout que j'arrive pas a faire en sorte que

episode.php?id=6
et
episode.php?saison=1&episode=6

ramènent à la même page (ce n'est qu'un exemple, c'est valable pour tous les id)

La où ça coince pour y arriver, c'est là :
$retour = mysql_query("select * from episode where id=$id OR saison=$saison AND episode=$episode");
Je pense qu'il y a un problème de syntaxe
0