Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1277 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Tester si un enregistrement existe ou non.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Tester si un enregistrement existe ou non.

n°1243339
Vilo5
Posté le 10-11-2005 à 16:27:36  profilanswer
 

Bonjour,
 
je recherche comment tester si un enregistrement existe dans une table.
 
 
Exemple :
 
Une table a 3 champs toto, titi et tata de type int.
 
Je voudrai trouver une requete qui me dit si il existe ou non par exemple l'enregitrement :
toto=1, titi=3 et tat=5
 
Si le couple existe ca me renverrai vrai sinon faux, ou un truc dans le style.
 
Voilà ce que je veu, merci d'avance.

mood
Publicité
Posté le 10-11-2005 à 16:27:36  profilanswer
 

n°1243354
orafrance
Posté le 10-11-2005 à 16:42:00  profilanswer
 

quel SGBD ?

n°1243356
Vilo5
Posté le 10-11-2005 à 16:42:38  profilanswer
 

a pardon, sous mysql.

n°1243359
Beegee
Posté le 10-11-2005 à 16:46:32  profilanswer
 

Code :
  1. SELECT COUNT(*)
  2. FROM maTable
  3. WHERE toto = 1
  4. AND titi = 3
  5. AND tata = 5;


 
Si la table est grosse, tu peux limiter au premier enregistrement trouvé ...

n°1243368
Vilo5
Posté le 10-11-2005 à 16:58:25  profilanswer
 

oui pas bête.
 
j'était partie dans un  :
 

Code :
  1. requete = mysql_query('SELECT num_carte from autorisation WHERE toto=\'$toto\' and titi=\'$titi\' and tata=\'$tata\'');
  2. if (!$requete)
  3. {
  4.     die('Requête invalide : ' . mysql_error());
  5. }
  6.     $result = mysql_result($requete,1);


 
C'est tout de même plus compliqué.
 
Merci !

n°1243390
Vilo5
Posté le 10-11-2005 à 17:20:56  profilanswer
 

En php ca donnera :
 

Code :
  1. $requete = mysql_query('SELECT COUNT(*) from autorisation WHERE toto=1 and tutu=2 and tata=3');
  2. $result = mysql_result($requete,0);
  3. if ($resuslt=0)
  4. {
  5.        $droit="existe pas";
  6. }
  7. else
  8. {
  9.        $droit="existe";
  10. }
  11. echo $droit;


 
Est-ce juste et y a t'il plus simple ?
Mois ca me retourne toujours "existe" même si j'en tre une combinaison qui n'existe pas.


Message édité par Vilo5 le 10-11-2005 à 17:21:31
n°1243420
Beegee
Posté le 10-11-2005 à 18:04:01  profilanswer
 

resuslt !!!

n°1243581
Vilo5
Posté le 10-11-2005 à 21:47:41  profilanswer
 

Oui c'est vrai, je dirai même result==0 et non =0.
 
Mais ca ne regles pas tout, car maintenant que le test est corect ca me renvoir tjs "existe pas".

n°1243585
Beegee
Posté le 10-11-2005 à 21:55:25  profilanswer
 

et si tu remplaces par un fetch ? (mysql_fetch_row ou équivalent)

n°1243700
Vilo5
Posté le 11-11-2005 à 00:17:40  profilanswer
 

Beegee a écrit :

et si tu remplaces par un fetch ? (mysql_fetch_row ou équivalent)


 
Oui ce que tu dit n'est pas bêtes et je pense que cela doit marcher, l'erreur viens bien de là.
 
Mais j'ai trouvé une autre solution.
 
en faite : "$result = mysql_result($requete,0);" récupère une valeur,
et "$result = mysql_fetch_row($requete,0);" récupère un tableau de valeur.
 
Or le "SELECT COUNT(*)" récupère 3 valeurs, toto, titi et tata donc le mysql_result était mal chhoisi.
Il me suffit donc de faire "SELECT COUNT(toto)" avec "$result = mysql_result($requete,0);" puisque de toute façon je veu juste compter un truc pour savoir si le couple existe.
 
Voilà maintenant ca marche et ca donne çà :

Code :
  1. $requete = mysql_query('SELECT count(toto) as nb from autorisation where toto=\'$toto\' and titi=\'$titi\' and tata=\'$tata\'');
  2. $result = mysql_result($requete,0);
  3. if ($result==0)
  4.     {
  5.        $droit="0";
  6.     }
  7. else
  8.     {
  9.        $droit="1";
  10.     }
  11. return $droit;



Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Tester si un enregistrement existe ou non.

 

Sujets relatifs
id du dernier enregistrement ??? ( auto_increment)datagrid existe uniquement en asp.net? [edit]
Problème d'enregistrement des données dans une classetester si un chiffre est paire ou impaire
[PHP] Opendir qui échoue, alors que le répertoire existe[Débutant] Comment tester scripts sans installer Oracle ?
Tester si un service de windows est lancé depuis javascript[PHP] Tester si IP (ou adresse) est valide??
VS 2003 : tester si un fichier est présent dans projet de déploiementPouvez-vous tester mon site? Pb avec IE sous Mac
Plus de sujets relatifs à : Tester si un enregistrement existe ou non.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR