Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/12/2010, 23h37   #1
Membre du Club
 
Homme Aurelien NF
Inscription : août 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Aurelien NF
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : août 2010
Messages : 216
Points : 59
Points : 59
Envoyer un message via Skype™ à AurelienNF
Par défaut Probleme comparaison requete mysql

Bonjour à tous,

Je souhaite effectuer une comparaison dans une requete mysql mais je ne crois pas avoir la bonne méthode.

Je désire afficher l'id précédent de celui récupéré via mon url.

Voici mon code:
Code :
1
2
3
" SELECT  *" .
		" FROM NEWS ". 
		" WHERE NEWS_ID < $Idnews ";
Comment m'y prendre ?
Existe t'il un autre symbole à utiliser ?

Je ne peux pas utiliser un code du type :
Code :
1
2
3
if ( isset($_GET['id'])) 		{ $Idnews 	= $_GET['id'];		}
$nextnews = $Idnews + 1;
$previousnews = $Idnews - 1;
car dans ma requete je dois gérer plusieurs secteurs, ainsi les id ne se suivent pas.

Merci par avance,

Aurélien
AurelienNF est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/12/2010, 23h40   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Ajoute LIMIT 1
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/12/2010, 23h43   #3
Membre du Club
 
Homme Aurelien NF
Inscription : août 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Aurelien NF
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : août 2010
Messages : 216
Points : 59
Points : 59
Envoyer un message via Skype™ à AurelienNF
Merci Sabotage.

J'ai édité mon post au même moment où tu as publié ta réponse.

J'ai rajouté dans mon message que les numéros de mes id ne suivent pas.

Comment résoudre mon probleme avec cette contrainte de plus ?

Merci par avance,

Aurélien
AurelienNF est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/12/2010, 23h43   #4
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
La requête que tu indiques est bonne, il manque juste le LIMIT 1
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/12/2010, 23h53   #5
Membre du Club
 
Homme Aurelien NF
Inscription : août 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Aurelien NF
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : août 2010
Messages : 216
Points : 59
Points : 59
Envoyer un message via Skype™ à AurelienNF
Merci pour ta réponse.

Le résultat obtenu n'est pas celui que j'attendais. Il doit y avoir quelque chose qui cloche dans mon code

Est-ce que ca te parait correct ?
Code :
1
2
3
" SELECT  *" .
		" FROM NEWS ". 
		" WHERE NEWS_SECTEUR = '$idSecteur' OR NEWS_SECTEUR = 0 AND NEWS_ID > $Idnews LIMIT 1";
Merci par avance,

Aurélien
AurelienNF est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2010, 00h05   #6
Membre du Club
 
Homme Aurelien NF
Inscription : août 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Aurelien NF
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : août 2010
Messages : 216
Points : 59
Points : 59
Envoyer un message via Skype™ à AurelienNF
Dans le cas de
Code :
1
2
3
4
5
6
7
$sqlQuery3 =
		" SELECT  NEWS_TITLE_URL, NEWS_TITLE, NEWS_ID" .
		" FROM NEWS ". 
		" WHERE (NEWS_SECTEUR = '$idSecteur' OR NEWS_SECTEUR = 0) AND NEWS_ID > $Idnews LIMIT 1";
		$req3 = mysql_query($sqlQuery3);
		checkSqlError($sqlQuery3);
		$newArticleValuenext = mysql_fetch_array ($req3);
ça fonctionne tres bien mais dans le cas de

Code :
1
2
3
4
5
6
7
8
// Récupération des infos de la news précédente
$sqlQuery2 =
		" SELECT  NEWS_TITLE_URL, NEWS_TITLE, NEWS_ID" .
		" FROM NEWS ". 
		" WHERE (NEWS_SECTEUR = '$idSecteur' OR NEWS_SECTEUR = 0) AND NEWS_ID < $Idnews LIMIT 1";
		$req2 = mysql_query($sqlQuery2);
		checkSqlError($sqlQuery2);
		$newArticleValueprevious = mysql_fetch_array ($req2);
ca affiche des news tres tres anciennes dans le desordre

Une idée ?

Merci par avance,

Aurélien
AurelienNF est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2010, 00h07   #7
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Effectivement j'ai oublié de trier
Code :
1
2
3
4
SELECT  *  FROM NEWS
WHERE (NEWS_SECTEUR = '$idSecteur' OR NEWS_SECTEUR = 0) AND NEWS_ID < $Idnews
ORDER BY NEWS_ID DESC
LIMIT 1
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2010, 00h20   #8
Membre du Club
 
Homme Aurelien NF
Inscription : août 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Aurelien NF
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : août 2010
Messages : 216
Points : 59
Points : 59
Envoyer un message via Skype™ à AurelienNF
J'ai apporté la correction mais dans le cas où je veux afficher ma news precedente, je passe de l'id 10183 à l'id 681 puis 1 sans comprendre.
Alors que pour afficher mes news suivante ça fonctionne. Avec le meme code, juste en changeant > ou <

Comment cela pourrait s'expliquer ?

Merci par avance,

Aurélien
AurelienNF est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2010, 00h23   #9
Membre du Club
 
Homme Aurelien NF
Inscription : août 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Aurelien NF
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : août 2010
Messages : 216
Points : 59
Points : 59
Envoyer un message via Skype™ à AurelienNF
Je viens de voir ton nouveau message.

Merci beaucoup, tout va pour le mieux dans le meilleur des mondes.

Sur ce bonne nuit et à bientôt.

Aurélien
AurelienNF est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h39.


 
 
 
 
Partenaires

Hébergement Web