Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
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 09/12/2010, 12h52   #1
Invité régulier
 
Inscription : avril 2008
Messages : 30
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 30
Points : 8
Points : 8
Par défaut Requete pour une Rechercher

Bonjour je suis en train de créer une requete pour rechercher dans une base de donnée j'ai un petit soucis en ce qui concerne le plus grand que plus petit que ... voici mes requetes :
Code :
1
2
3
4
5
 
$annee = '>=';
$annee2 = '1900'
 
//$sql="SELECT * FROM auto WHERE annee $annee.annee2"; //POUR LES ANNEES??
voici l'erreur:
Code :
1
2
 
SELECT * FROM auto WHERE annee >=1900You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '=1900' at line 1
comment puis-je faire pour la fonction entre ?
Cordialement
cyprus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2010, 13h00   #2
Membre chevronné
 
Inscription : juillet 2003
Messages : 625
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 625
Points : 600
Points : 600
Bonjour,

quel est le type de ton champs annee ?

pour faire un diffèrence entre, tu peux utiliser l'expression BETWEEN

Code :
SELET * FROM auto WHERE annee BETWEEN $var1 AND $var2
__________________
Le savoir est utile que s'il est partagé par tous.
/(bb|[^b]{2})/
!sleep() ? array((string))
syl2095 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 09/12/2010, 13h58   #3
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 656
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 656
Points : 5 359
Points : 5 359
Comme ça, ça fonctionne mieux ?
Code :
1
2
3
4
$annee = '>=';
$annee2 = '1900';
 
$sql="SELECT * FROM auto WHERE annee ".$annee." '".$annee2"' ";
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 09/12/2010, 16h40   #4
Invité régulier
 
Inscription : avril 2008
Messages : 30
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 30
Points : 8
Points : 8
Citation:
Envoyé par Celira Voir le message
Comme ça, ça fonctionne mieux ?
Code :
1
2
3
4
$annee = '>=';
$annee2 = '1900';
 
$sql="SELECT * FROM auto WHERE annee ".$annee." '".$annee2"' ";
Bonjour je viens de tester ceci me donne :

Code :
Parse error: parse error in C:\wamp\www\2Mautomobile\pages_fr\search.php on line 25
la ligne 25 correspond a la ligne de la requete $sql
cyprus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2010, 16h42   #5
Membre chevronné
 
Inscription : juillet 2003
Messages : 625
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 625
Points : 600
Points : 600
ça doit être à cause du point de concaténation manquant
Code php :
1
2
 
$sql="SELECT * FROM auto WHERE annee ".$annee." '".$annee2."' ";
__________________
Le savoir est utile que s'il est partagé par tous.
/(bb|[^b]{2})/
!sleep() ? array((string))
syl2095 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 09/12/2010, 16h46   #6
Invité régulier
 
Inscription : avril 2008
Messages : 30
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 30
Points : 8
Points : 8
Citation:
Envoyé par syl2095 Voir le message
Bonjour,

quel est le type de ton champs annee ?

pour faire un diffèrence entre, tu peux utiliser l'expression BETWEEN

Code :
SELET * FROM auto WHERE annee BETWEEN $var1 AND $var2
Pour le between merci petite erreur de ta part minime SELECT au lieu de selet sinon sa dans ma base de donnée le type de mon champ année est : varchar(60) ... caractere donc ... pas des chiffres :S je dois mettre quoi a la place ?
cyprus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2010, 16h48   #7
Invité régulier
 
Inscription : avril 2008
Messages : 30
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 30
Points : 8
Points : 8
Citation:
Envoyé par syl2095 Voir le message
ça doit être à cause du point de concaténation manquant
Code php :
1
2
 
$sql="SELECT * FROM auto WHERE annee ".$annee." '".$annee2."' ";
MERCI tu m'enleve un gros soucis
cyprus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2010, 18h21   #8
Invité régulier
 
Inscription : avril 2008
Messages : 30
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 30
Points : 8
Points : 8
Petite modification pour les requete toujours un ti soucis vous voyez une erreur ici ?
Code :
1
2
 
SELECT * FROM auto WHERE reference LIKE '%hh%' OR kilometrage BETWEEN 1 AND 100 OR annee <= 1990 OR no_id_marque LIKE '%2%' AND no_id_modele LIKE '%5%
Parce que quand je cole le code dans php my admin pour tester en local il me dit :
Code :
1
2
 
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''%5%' at line 1
Un avis ? moi je ne vois pas l'erreur


Edit : désolé je m'autocorige il manquai un apostrophe ...
cyprus 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 18h35.


 
 
 
 
Partenaires

Hébergement Web