Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PDO
PDO Forum d'entraide sur PDO (PHP Data Objects) : pilote générique de bases de données avec PHP. Avant de poster -> FAQ PDO et Cours PDO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/11/2010, 10h45   #1
Membre confirmé
 
Avatar de arthuro45
 
Arthur Salomon
Développeur du dimanche
Inscription : juillet 2009
Messages : 592
Détails du profil
Informations personnelles :
Nom : Arthur Salomon
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Développeur du dimanche

Informations forums :
Inscription : juillet 2009
Messages : 592
Points : 213
Points : 213
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 :
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;
   }
}
arthuro45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2010, 12h01   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Ce n'est pas du PDO ce que tu nous montres mais ton résultat c'est $nb['total']
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2010, 12h32   #3
Membre confirmé
 
Avatar de arthuro45
 
Arthur Salomon
Développeur du dimanche
Inscription : juillet 2009
Messages : 592
Détails du profil
Informations personnelles :
Nom : Arthur Salomon
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Développeur du dimanche

Informations forums :
Inscription : juillet 2009
Messages : 592
Points : 213
Points : 213
Citation:
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 :
1
2
3
while ($nb = oci_fetch_array($req1, OCI_ASSOC+OCI_RETURN_NULLS)) {
     echo $nb['total'];
   }
arthuro45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2010, 12h40   #4
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
regarde ce que tu recois :
Code :
1
2
3
while ($nb = oci_fetch_array($req1, OCI_ASSOC+OCI_RETURN_NULLS)) {
     var_dump($total);
   }
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2010, 12h46   #5
Membre confirmé
 
Avatar de arthuro45
 
Arthur Salomon
Développeur du dimanche
Inscription : juillet 2009
Messages : 592
Détails du profil
Informations personnelles :
Nom : Arthur Salomon
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Développeur du dimanche

Informations forums :
Inscription : juillet 2009
Messages : 592
Points : 213
Points : 213
Citation:
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 ?
arthuro45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2010, 13h17   #6
Membre confirmé
 
Avatar de arthuro45
 
Arthur Salomon
Développeur du dimanche
Inscription : juillet 2009
Messages : 592
Détails du profil
Informations personnelles :
Nom : Arthur Salomon
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Développeur du dimanche

Informations forums :
Inscription : juillet 2009
Messages : 592
Points : 213
Points : 213
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 ?
arthuro45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2010, 14h58   #7
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Citation:
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
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2010, 17h12   #8
Membre confirmé
 
Avatar de arthuro45
 
Arthur Salomon
Développeur du dimanche
Inscription : juillet 2009
Messages : 592
Détails du profil
Informations personnelles :
Nom : Arthur Salomon
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Développeur du dimanche

Informations forums :
Inscription : juillet 2009
Messages : 592
Points : 213
Points : 213
Citation:
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 ?
arthuro45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2010, 17h35   #9
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Parce que le SGDB renvoit l'alias en majuscules.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h04.


 
 
 
 
Partenaires

Hébergement Web