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

Langage PHP Discussion :

While sur 1 procédure stockée pour 2 tableaux


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2013
    Messages : 6
    Points : 7
    Points
    7
    Par défaut While sur 1 procédure stockée pour 2 tableaux
    Bonjour,

    Voilà je suis buté sur un Problème en PHP.

    En effet j'ai une procédure stockée qui, une fois executée me ressort 2 résultats (soit 2 select)

    Sachant que je passe mes SELECT en procédure stockée car très grosse (environ 1600 lignes)

    bref l'objectif pour moi est de lancer une seule fois la procédure mais d'en ressortir 2 tableaux distincts qui seront afficher sur ma page PHP

    J'ai donc quelque chose du genre
    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
     
    $query = "Exec proc_stock_test";
    $result = sybase_query ($query);
     
    while ($elements = sybase_fetch_array($result)) // 1er tableau
    {
     
    echo "<tr>";
    echo "<td style='text-align:center'>" .$elements['toto'] ."</td>";
    echo "</tr>";
    }
     
     
     
    while ($elements = sybase_fetch_array($result)) // 2eme tableau
    {
     
    echo "<tr>";
    echo "<td style='text-align:center'>" .$elements['tata'] ."</td>";
    echo "</tr>";
    }
    Sauf que ça ne fonctionne pas car les valeurs toto et tata sont dans 2 SELECT différents....

    Auriez vous une idée par hasard ?

    merci

  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
    Je t'ai déjà indiqué le principe ici :
    http://www.developpez.net/forums/d12...es-distinctes/
    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
    $query = "Exec proc_stock_test";
    $result = sybase_query ($query);
     
    while ($elements = sybase_fetch_array($result)) // 1er tableau
    {
    $tbl['toto'][] = $elements['toto'];
    $tbl['tata'][] = $elements['tata'];
    }
     
    foreach($tbl as $colonnes) {
         echo '<table>';
         foreach($colonnes as $values) {
                 echo "<tr>";
                       echo "<td style='text-align:center'>" .$values ."</td>";
               echo "</tr>";
         }
        echo '</table>';
    }
    }
    D'un point de vue de la base de donnée ça n'a pas trop de sens ce que tu fais mais tu dois bien avoir tes raisons.

Discussions similaires

  1. Réponses: 3
    Dernier message: 06/09/2009, 18h22
  2. procédure stockée pour renvoyer un état dans une application
    Par erickoffi dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 27/10/2005, 19h05
  3. Réponses: 5
    Dernier message: 04/10/2004, 18h20
  4. Réponses: 4
    Dernier message: 14/06/2004, 16h18
  5. Informations sur les procédures stockées
    Par jfphan dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 13/01/2004, 14h30

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