SQL : Plusieurs possibilités pour where
9 messages
• Page 1 sur 1
- lukeskins
- Nouveau WRInaute

- Messages: 5
- Inscription: 25 Fév 2009
SQL : Plusieurs possibilités pour where
Bonjour à tous
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 la saison 1 de mon site, je fais
mondomaine.com/episode.php?id=1
Et dans le fichier PHP, ça donne ça :
jusque la, ca fonctionne
Mais je voudrais que le lien pour accéder à l'épisode 1 de la saison 1 soit
mondomaine.com/episode.php?saison=1&episode=1
donc je fais
Et ça fonctionne aussi
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
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
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 la saison 1 de mon site, je fais
mondomaine.com/episode.php?id=1
Et dans le fichier PHP, ça donne ça :
- Code: Tout sélectionner
$retour = mysql_query("select * from episode where id=$id");
jusque la, ca fonctionne
Mais je voudrais que le lien pour accéder à l'épisode 1 de la saison 1 soit
mondomaine.com/episode.php?saison=1&episode=1
donc je fais
- Code: Tout sélectionner
$retour = mysql_query("select * from episode where saison=$saison AND episode=$episode");
Et ça fonctionne aussi
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
- Code: Tout sélectionner
$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
Dernière édition par lukeskins le Mer Fév 25, 2009 3:22, édité 1 fois.
-

Marie-Aude - Modérateur

- Messages: 11901
- Inscription: 5 Juin 2006
Re: SQL : Plusieurs possibilités pour where
1. C'est une très mauvaise idée, car cela te génère du duplicate content (même contenu avec deux urls différentes)
2. Avant ton select, tu fais un test sur ta variable et si elle n'existe pas tu lui donnes une valeur
if (!isset($epidode)) $episode = 1 ;
2. Avant ton select, tu fais un test sur ta variable et si elle n'existe pas tu lui donnes une valeur
if (!isset($epidode)) $episode = 1 ;
- lukeskins
- Nouveau WRInaute

- Messages: 5
- Inscription: 25 Fév 2009
Re: SQL : Plusieurs possibilités pour where
Je viens de trouver la solution, le résultat c'est :
Ça m'inquiète cette histoire de duplicate content
La raison pour laquelle je fais tout ça, c'est que plusieurs sites ont un lien vers le mien et ces liens sont à la forme
episode.php?id=1
Moi je voulais faire un url rewriting grâce à
episode.php?saison=1&episode=1
Pour arriver avec
saison1-episode1.htm
Mais dans ce cas, il faut que les liens episode.php?id=1 soient toujours actifs pour que les visiteurs venant d'autres sites ne tombent pas sur une page d'erreur, mais sur la page voulue
- Code: Tout sélectionner
$retour = mysql_query('select * from episode where id='.intval($id).' OR (saison='.intval($saison).' AND episode='.intval($episode).')');
Ça m'inquiète cette histoire de duplicate content
La raison pour laquelle je fais tout ça, c'est que plusieurs sites ont un lien vers le mien et ces liens sont à la forme
episode.php?id=1
Moi je voulais faire un url rewriting grâce à
episode.php?saison=1&episode=1
Pour arriver avec
saison1-episode1.htm
Mais dans ce cas, il faut que les liens episode.php?id=1 soient toujours actifs pour que les visiteurs venant d'autres sites ne tombent pas sur une page d'erreur, mais sur la page voulue
-

Marie-Aude - Modérateur

- Messages: 11901
- Inscription: 5 Juin 2006
Re: SQL : Plusieurs possibilités pour where
Il faut faire une redirection
Ou utiliser le nouveau link rel="canonical"
Ou utiliser le nouveau link rel="canonical"
- lukeskins
- Nouveau WRInaute

- Messages: 5
- Inscription: 25 Fév 2009
Re: SQL : Plusieurs possibilités pour where
Dans mon .htaccess, j'ai fais
Malheureusement, ça fonctionne pas
J'ai jeté un coup d'œil sur google, pas de solutions...
- Code: Tout sélectionner
RedirectPermanent /episode.php?id=1 http://www.monsite.com/saison-1-episode-1.html
Malheureusement, ça fonctionne pas
J'ai jeté un coup d'œil sur google, pas de solutions...
-

aladdin - WRInaute passionné

- Messages: 1457
- Inscription: 29 Avr 2005
Re: SQL : Plusieurs possibilités pour where
il faut revoir ce code, tu risque pire que le duplicate content.
c'est une très mauvaise idée d'utiliser les variables de ton querystring directement dans la requête, tu risque des injections SQL.
c'est une très mauvaise idée d'utiliser les variables de ton querystring directement dans la requête, tu risque des injections SQL.
-

aladdin - WRInaute passionné

- Messages: 1457
- Inscription: 29 Avr 2005
Re: SQL : Plusieurs possibilités pour where
pour tester c'est simple
qu'est ce qui se passe si tu tape un truc du genre :
qu'est ce qui se passe si tu tape un truc du genre :
- Code: Tout sélectionner
mondomaine.com/episode.php?saison=1&episode=1 OR 0=0
- lukeskins
- Nouveau WRInaute

- Messages: 5
- Inscription: 25 Fév 2009
Re: SQL : Plusieurs possibilités pour where
Je viens de trouver la solution ultime pour les redirections :
Merci à tous
- Code: Tout sélectionner
RewriteEngine on
# Saison 1
RewriteCond %{QUERY_STRING} ^id=([0-9])$
RewriteRule ^episode.php$ http://www.monsite.com/saison-1-episode-%1.html? [R=301,L]
# Saison 2
RewriteCond %{QUERY_STRING} ^id=1([0-9])$
RewriteRule ^episode.php$ http://www.monsite.com/saison-2-episode-%1.html? [R=301,L]
# Saison 3
RewriteCond %{QUERY_STRING} ^id=2([0-9])$
RewriteRule ^episode.php$ http://www.monsite.com/saison-3-episode-%1.html? [R=301,L]
...
Merci à tous
9 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Requête SQL inserer plusieurs enregistrements
- SQL Requête dans plusieurs tables
- Mise à jour plusieurs ligne sql impossible
- plusieurs freeglobes sur 1 même base sql
- [PHP/SQL] Associer plusieurs SELECT de tables MySQL
- SQL / Mysql / PHP : utiliser plusieurs bases à la fois
- [SQL]Verifier la presence d'une entrée dans plusieurs tables
- indiquer plusieurs id dans une requête SQL, est ce propre ?
- Les possibilités du rollover
- Toutes les possibilités du mailto.
- Analyse de la classe C (adresse IP)
Cet outil vous permet de vérifier si plusieurs sites sont hébergés sur la même classe C (adresse IP du serveur).
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
