Requête PostgreSQL SELECT avec et sans ID
Résolu/Fermé
ChiNoHikari
Messages postés
6
Date d'inscription
dimanche 12 avril 2009
Statut
Membre
Dernière intervention
11 mars 2014
-
11 mars 2014 à 10:33
ChiNoHikari Messages postés 6 Date d'inscription dimanche 12 avril 2009 Statut Membre Dernière intervention 11 mars 2014 - 11 mars 2014 à 14:24
ChiNoHikari Messages postés 6 Date d'inscription dimanche 12 avril 2009 Statut Membre Dernière intervention 11 mars 2014 - 11 mars 2014 à 14:24
Bonjour, je souhaite faire une fonction PHP qui permet de récupérer tout les enregistrements d'une table selon l'identifiant d'un Pays donné via un formulaire. Toutefois l'utilisateur peut choisir d'afficher les résultats pour tout les pays, il n'y aura donc pas d'ID transmis à la fonction mais juste une valeur "Tout".
Ma question est: comment faire une seule requête capable de sélectionner aussi bien un pays en particulier (lorsque l'ID est envoyé) que de sélectionner tout les pays lorsque "Tout" est envoyé ?
J'ai essayé avec LIKE et le joker % mais sans succès.
Ma question est: comment faire une seule requête capable de sélectionner aussi bien un pays en particulier (lorsque l'ID est envoyé) que de sélectionner tout les pays lorsque "Tout" est envoyé ?
J'ai essayé avec LIKE et le joker % mais sans succès.
A voir également:
- Requête PostgreSQL SELECT avec et sans ID
- Document id lycamobile ✓ - Forum Mobile
- Iphone sans face id avis - Forum Mobile
- Activer ma carte SIM lycamobile ✓ - Forum Mobile
- Id telephone - Guide
- Id de membre perfect money - Forum Logiciels
2 réponses
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
11 mars 2014 à 11:31
11 mars 2014 à 11:31
Bonjour,
Tu pourrais nous donner le code de ta fonction, pour qu'on voie directement comment on peut l'adapter ?
Xavier
Tu pourrais nous donner le code de ta fonction, pour qu'on voie directement comment on peut l'adapter ?
Xavier
ChiNoHikari
Messages postés
6
Date d'inscription
dimanche 12 avril 2009
Statut
Membre
Dernière intervention
11 mars 2014
11 mars 2014 à 12:39
11 mars 2014 à 12:39
Bonjour, merci pour votre aide .
function database_select_country($country) { //Connection à la base de données $bdd = database_connect(); //Préparation de la requête $req = $bdd->prepare('SELECT * FROM "public"."COUNTRY" WHERE "ID_COUNTRY" = '.$country.''); $req->execute(array()) or die(print_r($req->errorInfo())); return $req; }
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
Modifié par Reivax962 le 11/03/2014 à 13:45
Modifié par Reivax962 le 11/03/2014 à 13:45
OK, donc le plus simple à mon avis serait de faire le test en php :
function database_select_country($country) { //Connection à la base de données $bdd = database_connect(); $texte_req = 'SELECT * FROM "public"."COUNTRY"'; if ($country != 'Tout') $texte_req .= ' WHERE "ID_COUNTRY" = '.$country; //Préparation de la requête $req = $bdd->prepare($texte_req); $req->execute(array()) or die(print_r($req->errorInfo())); return $req; }
ChiNoHikari
Messages postés
6
Date d'inscription
dimanche 12 avril 2009
Statut
Membre
Dernière intervention
11 mars 2014
11 mars 2014 à 14:02
11 mars 2014 à 14:02
Merci beaucoup !
Sinon il n'existe pas de solution "joker" comme avec LIKE et % _ pour les ID ?
Sinon il n'existe pas de solution "joker" comme avec LIKE et % _ pour les ID ?
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
Modifié par Reivax962 le 11/03/2014 à 14:20
Modifié par Reivax962 le 11/03/2014 à 14:20
Non, je ne vois pas.
Éventuellement un truc comme ça, mais ça reporte le test sur la base sql :
Éventuellement un truc comme ça, mais ça reporte le test sur la base sql :
$req = $bdd->prepare("SELECT * FROM \"public\".\"COUNTRY\" WHERE \"ID_COUNTRY\" = '$country' OR '$country' = 'Tout'");
ChiNoHikari
Messages postés
6
Date d'inscription
dimanche 12 avril 2009
Statut
Membre
Dernière intervention
11 mars 2014
11 mars 2014 à 14:24
11 mars 2014 à 14:24
Ok, encore une fois merci beaucoup !