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 :

Afficher le résultat d'un select sans foreach [PDO]


Sujet :

PHP & Base de données

  1. #1
    Membre actif Avatar de arthuro45
    Profil pro
    Développeur du dimanche
    Inscrit en
    Juillet 2009
    Messages
    602
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur du dimanche

    Informations forums :
    Inscription : Juillet 2009
    Messages : 602
    Points : 265
    Points
    265
    Par défaut Afficher le résultat d'un select sans foreach
    Bonjour,

    Comment faire pour afficher le résultat (en l'occurrence un seul) sans utiliser un foreach ? un peu comme avec mysql_num_rows.

    Merci pour votre aide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <?php
    $oci_conn = oci_connect("toto","toto","base");
    $req1 = oci_parse($oci_conn, "SELECT  count(distinct aecar2) as total
                                   FROM ieps2, iepas, iepae, iepre
                                   WHERE recsoc = 'RA'
                                   AND recent = '43'
                                   AND recmag IN ('EPD', 'PPD','RPD')
                                   AND aecsoc(+) = recsoc
                                   AND aecent(+) = recent
                                   AND aeniar(+) = reniar
                                   AND ascsoc(+) = recsoc
                                   AND asniar(+) = reniar
                                   AND s2csoc(+) = aecsoc
                                   AND s2cdty(+) = 'PS'
                                   AND s2cpa2(+) = aecpa2");
     
    oci_execute($req1);
     
    while ($nb = oci_fetch_array($req1, OCI_ASSOC+OCI_RETURN_NULLS)) {
       foreach ($nb as $item) {
         echo $item;
       }
    }

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ce n'est pas du PDO ce que tu nous montres mais ton résultat c'est $nb['total']
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre actif Avatar de arthuro45
    Profil pro
    Développeur du dimanche
    Inscrit en
    Juillet 2009
    Messages
    602
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur du dimanche

    Informations forums :
    Inscription : Juillet 2009
    Messages : 602
    Points : 265
    Points
    265
    Par défaut
    Ce n'est pas du PDO ce que tu nous montres mais ton résultat c'est $nb['total']
    Oups ! oui effectivement.

    J'avais tenté ta solution mais rien ne s'affiche et pas de message d'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    while ($nb = oci_fetch_array($req1, OCI_ASSOC+OCI_RETURN_NULLS)) {
         echo $nb['total'];
       }

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    regarde ce que tu recois :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    while ($nb = oci_fetch_array($req1, OCI_ASSOC+OCI_RETURN_NULLS)) {
         var_dump($total);
       }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre actif Avatar de arthuro45
    Profil pro
    Développeur du dimanche
    Inscrit en
    Juillet 2009
    Messages
    602
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur du dimanche

    Informations forums :
    Inscription : Juillet 2009
    Messages : 602
    Points : 265
    Points
    265
    Par défaut
    regarde ce que tu recois :
    Code :

    while ($nb = oci_fetch_array($req1, OCI_ASSOC+OCI_RETURN_NULLS)) {
    var_dump($total);
    }

    Ca ramène NULL, d'ou vient $total ?

  6. #6
    Membre actif Avatar de arthuro45
    Profil pro
    Développeur du dimanche
    Inscrit en
    Juillet 2009
    Messages
    602
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur du dimanche

    Informations forums :
    Inscription : Juillet 2009
    Messages : 602
    Points : 265
    Points
    265
    Par défaut
    Apparemment ça prend en compte la casse, en majuscule ça fonctionne :

    Pourtant en PHP la casse n'est pas prise en compte ? subtilité d'Oracle ?

  7. #7
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Pourtant en PHP la casse n'est pas prise en compte ?
    La casse est PHP est prise en compte sur tout.

    Pour mon test c'était $nb et non $total
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Membre actif Avatar de arthuro45
    Profil pro
    Développeur du dimanche
    Inscrit en
    Juillet 2009
    Messages
    602
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur du dimanche

    Informations forums :
    Inscription : Juillet 2009
    Messages : 602
    Points : 265
    Points
    265
    Par défaut
    La casse est PHP est prise en compte sur tout.
    Oui

    Serais-tu m'expliquer pourquoi il faut mettre le nom du champ en majuscule ?

  9. #9
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Parce que le SGDB renvoit l'alias en majuscules.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. Afficher la résultat d'une SELECT dans un tableau(MYSQL)
    Par karamovic dans le forum Android
    Réponses: 3
    Dernier message: 02/05/2012, 09h11
  2. Afficher le résultat d'une variable sans les alerts
    Par qwark dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 29/03/2012, 18h31
  3. Réponses: 2
    Dernier message: 20/12/2011, 14h06
  4. Garder le résultat d'un select sans créer de vue
    Par SlySlayer dans le forum Requêtes
    Réponses: 9
    Dernier message: 08/11/2010, 11h27
  5. Afficher element selectionné d'un select sans un champ text
    Par eddycool dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 25/05/2009, 13h00

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