IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Compter le nombre de résultats [ODBC]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club Avatar de Artusamak
    Inscrit en
    Mai 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 76
    Points : 55
    Points
    55
    Par défaut Compter le nombre de résultats
    Bonjour à tous, j'utilise ODBC pour faire l'interface entre mon source et ma BDD Access et j'ai un petit soucis.

    Je voudrais calculer le nombre de résultats d'une requête. J'ai utilisé odbc_num_rows() sauf que la fonction me renvoie une erreur (valeur : -1).

    Voilà le source :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    		$connexion=odbc_connect("BaseEtude","","");
    		$requete="Select * From Operation Where Reference='$param_reference' ORDER BY DateDebut, Temps, Initiales";
    		$retour=odbc_exec($connexion,$requete);
    		echo "<p>Nombre de lignes : ".$nbr_lignes=odbc_num_rows($retour)."</p>";
    		while(odbc_fetch_row($retour))
    		{
    			echo "<tr><td>".odbc_result($retour,"DateDebut")."</td></tr>";
    		}

    Si vous avez une explication, je suis preneur =) Merci

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $connexion=odbc_connect("BaseEtude","","");
    		$requete="Select * From Operation Where Reference='$param_reference' ORDER BY DateDebut, Temps, Initiales";
    		$retour=odbc_exec($connexion,$requete);
    		echo "<p>Nombre de lignes : ".$nbr_lignes=odbc_num_rows($retour)."</p>";
    		while($row=odbc_fetch_row($retour))
    		{
    			echo "<tr><td>".$row['DateDebut']."</td></tr>";
    		}

    essaye comme ca plutot
    Stay in Bed .. Save Energy

  3. #3
    Membre du Club Avatar de Artusamak
    Inscrit en
    Mai 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 76
    Points : 55
    Points
    55
    Par défaut
    Ça ne fonctionne pas mieux =)

    odbc_num_rows renvoit toujours -1 (normal le code n'a pas changé ^^)

  4. #4
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    alors si je comprends bien le problème vient de là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<p>Nombre de lignes : ".$nbr_lignes=odbc_num_rows($retour)."</p>";
    Ton $retour est pas vide ?

    Et en passant dans la doc, qu'est ce que je vois :

    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.
    mais surtout surtout ceci :
    Note: odbc_num_rows() après un SELECT retournera -1 avec de nombreux pilotes.
    Donc tu as la réponse à ta question

    Sinon tu as une autre solution c'est de rajouter un count(*) dans ta requete ou une nouvelle requete

  5. #5
    Membre du Club Avatar de Artusamak
    Inscrit en
    Mai 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 76
    Points : 55
    Points
    55
    Par défaut
    Ah ça c'est pas bête le coup du COUNT ^^ Merci du tuyau. J'avais matté la doc, mais je n'avais pas vu que cela pouvait provenir du pilote.

    Je vais éviter de changer de pilote, c'est une solution un peu foireuse ^^

    Je teste le COUNT je vous tient au courant. Merci tu me sors de l'impasse

    ==[EDIT]==

    Ça fonctionne. Merci =)

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 53
    Points : 36
    Points
    36
    Par défaut
    bonjour,

    même cas de figure seulement le count me renvoie :
    Resources id#4
    avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $sql="SELECT count(*) FROM Tabcarto WHERE (((Tabcarto.DATEREAL)>#12/31/2005#) AND ((Tabcarto.ETAT)='document de travail'))";
    $total = odbc_do($cnx_verif,$nbenrg);
    echo 'total ='.$total;
    j'ai d'ailleurs lancé un post à ce sujet ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/05/2014, 21h01
  2. Requête compter le nombre de résultats par tranche de 5mn
    Par Sethenssen dans le forum Requêtes
    Réponses: 9
    Dernier message: 20/01/2014, 15h15
  3. [MySQL] compter le nombre de résultat et faire la boucle est 'il plus rapdie que 2 foreach?
    Par keokaz dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 03/09/2011, 22h57
  4. Compter nombre de résultats d'un CURSEUR
    Par bobic dans le forum SQL
    Réponses: 8
    Dernier message: 27/08/2008, 10h38
  5. [MySQL] Compter le nombre de résultat d'une requête
    Par gueud dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 27/02/2008, 13h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo