Odbc_num_rows

matt -  
Canard007 Messages postés 5936 Statut Contributeur -
odbc_num_rows me retourne systématiquement la valeur -1 comment faire pour récupérer le nombre de ligne d'une requête, existe-t-il une autre fonction?merci

7 réponses

Canard007 Messages postés 5936 Statut Contributeur 215
 
Salut,

la doc nous donne:
int odbc_num_rows ( resource result_id )

odbc_num_rows retourne le nombre de lignes dans un résultat ODBC. odbc_num_rows retournera -1 en cas d'erreur. Pour les commandes INSERT, UPDATE et DELETE, odbc_num_rows retourne le nombre de ligne affectées. Pour les commandes SELECT, cela PEUT être le nombre de lignes disponibles, mais ce n'est pas certain.

Note: odbc_num_rows après un SELECT retournera -1 avec de nombreux pilotes.

Donc d'apres la doc soit tu as une erreur soit cela vient de tes pilotes...solutions dans le second cas utiliser un autre moyen pour recuperer le nombre de lignes ...comme la fonction COUNT par exemple.
0
matt
 
ok d'accord mais la fonction count ne permet pas de faire des distinct cad si je veux sélectionner toutes les villes possibles dans un tableau de 500 lignes et que je fais un count sur les villes je vais avoir 500 lignes comprend tu ce que je veux dire
0
Canard007 Messages postés 5936 Statut Contributeur 215
 
Et ca ca marche pas par hazard?
SELECT COUNT(DISTINCT ville) FROM ville
0
matt
 
malheureusement non ca ne marche pas, précédemment j'ai pu trouver des astuces pour résoudre ce problème du nombre de lignes mais là je dois exploiter directement le résultat de requête à plusieurs lignes dans le cadre d'un listing de clients répondant à plusieurs critères définis par l'utilisateur de l'interface
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Canard007 Messages postés 5936 Statut Contributeur 215
 
sans indiscretion tu utilse quoi comme sgbd et quel language? because parfois ya des API integré au language permettent de recuperer ces elements (c# et sql server par exemple ou c et mysql je c que ca existe)
0
matt
 
je suis sur une base access et je fais du php, j'ai trouvé une astuce pour compter le nombre de ligne ca fonctionne correctement
maintenant mon problème c'est plus de la logique, l'utilisateur va renseigner à souhait jusqu'à 9 critères et je dois lui renvoyer le client concerné, si tous les champs sont complétés ca me pose pas de problème mais s'il n'en remplit que trois par exemple j'ai du mal à cerner la démarche à suivre pour aboutir au bon client
0
Canard007 Messages postés 5936 Statut Contributeur 215
 
autogenerer la ligne de commande en fonction du nombre de criteres..
stocker les critereres dans un tableau
generer une chaine de caractere dans une boucle avec les critéres
puis ensuite concatener cette chaine avec le reste de la requete
0