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 :

multi requete sql [Oracle]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 15
    Points : 12
    Points
    12
    Par défaut multi requete sql
    Bonjour,

    Voilà je voudrais faire un état comptable dans feuille php connecté à une base oracle. Mon problème est le suivant, je voudrais structuré mon code afin d'avoir la meilleur visibilité, créer ma connexion sur ma base oracle (là pas de problème ca marche), puis faire toutes mes requetes (sachant qu'une requete ne remonte qu'un total à chaque fois), puis lancé mon execution, sans avoir a faire un while xxx

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    <?php
    $dbstr ="(DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(PORT = 1521)(HOST = ip))
        )
        (CONNECT_DATA =
          (SID = sid)
        )
      )" ;
     
    $conn = oci_connect( "user", "mdp",$dbstr); 
     
     
    if ($conn === false) 
    die("Connexion impossible : " . oci_error()); 
     
    $query1= "select sum(sd) from user.balance_cpt where ex='2011' and compte in ('2082','2083','2084')";
     
    $statement = oci_parse ($conn, $query1);
    oci_execute ($statement);
     
    while ($row = oci_fetch_array ($statement, OCI_BOTH)) 
     
    $data1=$row[0];
     
    $query2= "select sum(sc) from h5103.bb_balance_cpt where ex='2011' and compte in ('28082','28083','28084')";
    $statement2 = oci_parse ($conn, $query2);
    oci_execute ($statement2);
     
    while ($row2 = oci_fetch_array ($statement2, OCI_BOTH))    
     
    $data2=$row2[0];

    moi je voudrais faire comme cela

    1 - code de connexion
    2- toute mes requetes
    3- execution et recupération des donnés en une fois si possible.

    Merci d'avance pour votre aide.

  2. #2
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Pourquoi pas oci_fetch_all ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 15
    Points : 12
    Points
    12
    Par défaut J'ai trouvé mais j'ai une nouvelle question
    Bonjour,

    Désolé pour ma réponse tardive, en tout cas merci pour ta réponse, mais j'ai trouvé un début de réponse à ma question. En fait je passe par une fonction qui me permet d'executer d'un coup toute mes requete :

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
     
    function Get($cpt)
    {
     
    $dbstr ="(DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(PORT = 1521)(HOST = IP))
        )
        (CONNECT_DATA =
          (SID = SID)
        )
      )" ;
     
    $conn = oci_connect( "USER", "MDPj",$dbstr); 
     
    $query1 = oci_parse ( $conn , "select sum(sd) from table where ex='2011' and compte=$cpt" ); 
    oci_execute ( $query1 ); 
    $q = oci_fetch_array ( $query1 , OCI_BOTH ) ;     
     
     
    //echo $q[0];
    echo ''.number_format($q["0"],2, ',', ' ').'' ;
     
     
    }  
     
    Get(2088);
     
     
    echo "<br />";
    Get(215);
    Par contre maintenant je voudrais faire à certains moment dans mon tableau, les additions de mes fonctions exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo get(215)+get(2088);
    Mais là ca m'affiche les deux resultat cote à cote. j'ai même tenté de les stocks dans une variable dans la fonction et hors de la fonction ! Je dois peut etre type ma valeur de sortie de la fonction, mais là je caller !

    Merci d'avance pour le coup de main.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 15
    Points : 12
    Points
    12
    Par défaut c'est bon
    En fait il faut utiliser la fonction return et non echo dans le corps de la fonction et don il faut faire l'echo en dehors afin de pouvoir faire la somme et voilà.

    Merci.

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

Discussions similaires

  1. Statistiques multi-requetes SQL Server
    Par Benxt dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 07/03/2014, 14h08
  2. [SSIS][2k5] Multi Group By dans une requete SQL.
    Par Djaiffe dans le forum SSIS
    Réponses: 9
    Dernier message: 11/02/2009, 09h18
  3. Réponses: 7
    Dernier message: 18/07/2008, 09h44
  4. [10g] SQL Multi-Requete
    Par GSXRider dans le forum Oracle
    Réponses: 9
    Dernier message: 08/10/2007, 09h45
  5. Requete multi bases + SQL Server 8.00 ?
    Par romainp dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 24/07/2007, 22h40

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