Besoin d'aide pour le SQL
Résolu
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Je suis en train de programmer un annuaire en PHP.
Je suis débutant en PHP mais je connais les principes de programmations et d'algorithmes.
J'utilise une base MySQL livrée avec le logiciel WAMP.
Je m'attaque à la recherche des personnes enregistrées dans la base de données. J'ai programmé en HTML un formulaire qui permet d'exécuter une recherche en fonction d'information enregistrées dans 4 textbox (input en HTML)
Mon problème c'est que je n'arrive pas à construire une requête SQL correcte. En effet, j'aimerais faire marcher ma requête même si les champs n'ont pas été remplir (j'ai donc utilisé * et % mais aucun ne marche)
Voici ma requête SQL
SELECT Nom_PERSONNE, Prenom_PERSONNE, Trigramme_PERSONNE, Role_PERSONNE, Societe_PERSONNE, Tel_Fax_PERSONNE, Raccourci_PERSONNE, Mobile_PERSONNE, Mail_PERSONNE
FROM PERSONNE
WHERE Nom_PERSONNE = 'SAB %'
OR Prenom_PERSONNE = '%'
OR Tel_Fax_PERSONNE = '%'
OR Societe_PERSONNE = '%'
Merci de votre aide
Je suis en train de programmer un annuaire en PHP.
Je suis débutant en PHP mais je connais les principes de programmations et d'algorithmes.
J'utilise une base MySQL livrée avec le logiciel WAMP.
Je m'attaque à la recherche des personnes enregistrées dans la base de données. J'ai programmé en HTML un formulaire qui permet d'exécuter une recherche en fonction d'information enregistrées dans 4 textbox (input en HTML)
Mon problème c'est que je n'arrive pas à construire une requête SQL correcte. En effet, j'aimerais faire marcher ma requête même si les champs n'ont pas été remplir (j'ai donc utilisé * et % mais aucun ne marche)
Voici ma requête SQL
SELECT Nom_PERSONNE, Prenom_PERSONNE, Trigramme_PERSONNE, Role_PERSONNE, Societe_PERSONNE, Tel_Fax_PERSONNE, Raccourci_PERSONNE, Mobile_PERSONNE, Mail_PERSONNE
FROM PERSONNE
WHERE Nom_PERSONNE = 'SAB %'
OR Prenom_PERSONNE = '%'
OR Tel_Fax_PERSONNE = '%'
OR Societe_PERSONNE = '%'
Merci de votre aide
A voir également:
- Besoin d'aide pour le SQL
- Logiciel sql - Télécharger - Bases de données
- Requete sql pix - Forum PHP
- Additions et multiplication dans des requêtes SQL ✓ - Forum MySQL
- Sql query download - Télécharger - Gestion de données
- Ora-00933: la commande sql ne se termine pas correctement ✓ - Forum Oracle
17 réponses
Ce passage parait interessant:
expr LIKE pat [ESCAPE 'escape-char']
La réalisation d'expression utilisant les expressions régulières simples de comparaison de SQL. Retourne 1 (TRUE) ou 0 (FALSE). Avec LIKE, vous pouvez utiliser les deux jokers suivants :
Char Description
% Remplace n'importe quel nombre de caractères, y compris aucun
_ Remplace exactement un caractère
mysql> SELECT 'David!' LIKE 'David_';
-> 1
mysql> SELECT 'David!' LIKE '%D%v%';
-> 1
expr LIKE pat [ESCAPE 'escape-char']
La réalisation d'expression utilisant les expressions régulières simples de comparaison de SQL. Retourne 1 (TRUE) ou 0 (FALSE). Avec LIKE, vous pouvez utiliser les deux jokers suivants :
Char Description
% Remplace n'importe quel nombre de caractères, y compris aucun
_ Remplace exactement un caractère
mysql> SELECT 'David!' LIKE 'David_';
-> 1
mysql> SELECT 'David!' LIKE '%D%v%';
-> 1
ok je vais essayer
c fait , cela ne fonctionne pas
pour voir sie cela fonctionne j'ai mis juste
WHERE Nom_PERSONNE LIKE 'SAB *' cela n'a pas marché
j'ai donc mis
WHERE Nom_PERSONNE LIKE 'SAB %' cela n'a pas marché non plus
c fait , cela ne fonctionne pas
pour voir sie cela fonctionne j'ai mis juste
WHERE Nom_PERSONNE LIKE 'SAB *' cela n'a pas marché
j'ai donc mis
WHERE Nom_PERSONNE LIKE 'SAB %' cela n'a pas marché non plus
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour
Comment test tu ta requete (directement avec ton script php ou avec mysql)?
Je te demande cela car la requete me parait juste.
Comment test tu ta requete (directement avec ton script php ou avec mysql)?
Je te demande cela car la requete me parait juste.
b avant de l'essayer en PHP je l'essaye sur php MyAdmin pour voir si au moins cela me renvoie une valeur et cela me renvoie rien du tout
resalut,
Pour access il faut faire un modèle, il y a plusieurs formes
J'ai créé un exemple, et j'ai mis la table exemple et j'ai inserer (1,"Salut tout le monde")
la requete:
SELECT *
FROM Exemple
WHERE TexteExemple like "S*";
Fonctoinne tres bien.
Une question est ce que SAB est une variable?
Pour access il faut faire un modèle, il y a plusieurs formes
J'ai créé un exemple, et j'ai mis la table exemple et j'ai inserer (1,"Salut tout le monde")
la requete:
SELECT *
FROM Exemple
WHERE TexteExemple like "S*";
Fonctoinne tres bien.
Une question est ce que SAB est une variable?
SELECT Nom_PERSONNE, Prenom_PERSONNE, Trigramme_PERSONNE, Role_PERSONNE, Societe_PERSONNE, Tel_Fax_PERSONNE, Raccourci_PERSONNE, Mobile_PERSONNE, Mail_PERSONNE
FROM PERSONNE
WHERE Nom_PERSONNE like 'SAB %'
OR Prenom_PERSONNE like '_%'
OR Tel_Fax_PERSONNE like '_%'
OR Societe_PERSONNE like '_%'
essai ca mais ca m'etonnerai que ca change quelque chose
FROM PERSONNE
WHERE Nom_PERSONNE like 'SAB %'
OR Prenom_PERSONNE like '_%'
OR Tel_Fax_PERSONNE like '_%'
OR Societe_PERSONNE like '_%'
essai ca mais ca m'etonnerai que ca change quelque chose
AAAAAAAAAAAAAAAAAAAAAAAAAAAA, il ne vous renvoie rien du tout! donc il y a pas d'erreur dans la requete.
Attention à l'espace:
like "SAB[ ]*"
Attention à l'espace:
like "SAB[ ]*"
je vais manger je revien a 14 h merci de votre aide bon apétit et rdv a 14 h si possible
car j'aurais quelque question a vous poser
car j'aurais quelque question a vous poser
me revoila
Ce que je souhaite faire c'est que ma requète fonctionne même si une valeur n'est pas donnée
ce que je n'arrive pas a faire c'est le where
J'a rempli pour exemple un personne qui s'apelle sabat et j'ai rempli tous ses champ correspondants.
Je souhaiterais que si l'utilisateur de mon anuaire rentre sab par exemple tous les utilisateur qui commencent par sab (donc la personne sabat soit retrouvée et affichée)
Mon problème c'est la requète j'ai mis des conroles partout je suis donc certain qu ec'est le where qui déconne
Ce que je souhaite faire c'est que ma requète fonctionne même si une valeur n'est pas donnée
ce que je n'arrive pas a faire c'est le where
J'a rempli pour exemple un personne qui s'apelle sabat et j'ai rempli tous ses champ correspondants.
Je souhaiterais que si l'utilisateur de mon anuaire rentre sab par exemple tous les utilisateur qui commencent par sab (donc la personne sabat soit retrouvée et affichée)
Mon problème c'est la requète j'ai mis des conroles partout je suis donc certain qu ec'est le where qui déconne
J'ai rouvé ce truc, je pense qu'il est utile:
http://dev.mysql.com/doc/refman/5.0/fr/string-comparison-functions.html
http://dev.mysql.com/doc/refman/5.0/fr/string-comparison-functions.html
ok donc théoriquement
where Nom_PERSONNE LIKE '%SAB%'
devrait renvoyer les personne dont le nom comprend SAB mais cela ne fonctionne pas
where Nom_PERSONNE LIKE '%SAB%'
devrait renvoyer les personne dont le nom comprend SAB mais cela ne fonctionne pas