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

SQL Oracle Discussion :

while (oci_fetch ) et le premier résultat


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 154
    Par défaut while (oci_fetch ) et le premier résultat
    Bonjour

    J'utilise oci_fetch_object pour m'assurer que ma requette sql me ramène bien un résultat..

    Par ailleurs j'utilise en boucle while la fonction oci_fetch($statement) pour afficher mes résultats...
    Je me suis rendu compte que lorsqu'il y'a un seul résultat retourné y'as rien qui s'affiche et du coup j'ai bidouillé mon script en ajoutant la première ligne oci_result avant d'entrer dans la boucle.

    Ma question est : comment peut on utiliser oci_fetch pour retourner toutes les lignes sans exclure la première (le premier résultat retourné).

    Merci

  2. #2
    Membre confirmé Avatar de bsidy1
    Profil pro
    INFORMATICIEN
    Inscrit en
    Décembre 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : INFORMATICIEN

    Informations forums :
    Inscription : Décembre 2006
    Messages : 127
    Par défaut
    slt
    pour t'apporter de l'aide fait nousvoir une partie de ton script et nous pourrons trouver ensemble des solutions

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 154
    Par défaut
    Bonjour

    Voici la partie concernée de mon script , il me retourne les résultat Sauf le premier .

    Code php : 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
    33
    34
    35
    36
    37
    38
    39
    40
     
    $result=oci_fetch_object($stmt_select);
    if ($result) {
    echo '<table width="858"  class="contour_table">';
    echo '<tr>';
    echo '<td class="contour_table_td">';
    echo '<table width="858" border="0" cellspacing="0" cellpadding="0"   id="tablist"  name="tablist">';
    echo '<tr>';
    echo '<td width="16%" class="titres_tab" >Date de Commande</td>';
    echo '<td width="15%" class="titres_tab" >Date Exp&eacute;dition</td>';
    echo '<td width="15%" class="titres_tab">N° Commande</td>';
    echo '<td width="8%" class="titres_tab" >R&eacute;f </td>';
    echo '<td width="8%" class="titres_tab" >Porteur</td>';
    echo '</tr>';
    echo '<tr>';
     
                while (oci_fetch($stmt_select) ) {
                      echo '<tr>';
                      echo '<td>'.oci_result($stmt_select, "DAT_CDE").'</td>';
                      echo '<td>'.oci_result($stmt_select, "DATE_EXPED").'</td>';
                      echo  '<td><input type="checkbox" style="visibility:hidden;" name="RCV_NO[]" value='.oci_result(    $stmt_select, "RCV_NO").'>'.oci_result($stmt_select, "RCV_NO").'</td>';
                      echo '<td>'.oci_result($stmt_select, "REFERENCE").'</td>';
                      echo '<td>'.oci_result($stmt_select, "CLIENT_FINAL").'</td>';
     
     echo '</tr>';
                } // fin de while
    echo '</tr>';
    echo '</table>';
    echo '</tr>';
    echo '</td>';
    echo '</table >';
    echo '<br/>';
    echo '<input name="envoyer"  type="submit" value="Envoyer" class="bt_enregistrer">';            
     
          } // fin de  if ($result)  
     
     
    Merci pour votre AIDE
     
    Amicalement

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 154
    Par défaut
    Bonjour

    enfin , c'était un Truc à la CON , il a suffit que je mette le do while au lieu que le while car comme ça on va executer l'instruction avant de tester la condition..


    Amicalement

  5. #5
    Membre confirmé Avatar de bsidy1
    Profil pro
    INFORMATICIEN
    Inscrit en
    Décembre 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : INFORMATICIEN

    Informations forums :
    Inscription : Décembre 2006
    Messages : 127
    Par défaut
    ok voici un bout de script que j'ai obtenu apres avoir modifié ton code en se passant de oci_fetch_object
    j'espere que cela te servira
    ------------------------------------
    // selon le type de base de données que tu utilises tu etabliras une connexion
    // j'ai choisi ici une base de données oracle, excuse c'est ce que j'utilise
    $connect=ocilogon("login","mot_de_passe","base_de_données");
    //exemple $connect=ocilogon("sidy","guinee","INT");

    // une 1ere requete pour verifier si oui ou non il existe des données
    $sqlverif = ("select count(*) from ta_table where tes conditions");
    $parseur1= ociparse($connect,$sqlverif);
    oci_execute($parseur1);
    while(ocifetch($parseur1)) {
    $amount=oci_result($parseur1,1);
    }
    //////////////
    //$result=oci_fetch_object($stmt_select);
    if ($amount>0) {
    echo '<table width="858" class="contour_table">';
    echo '<tr>';
    echo '<td class="contour_table_td">';
    echo '<table width="858" border="0" cellspacing="0" cellpadding="0" id="tablist" name="tablist">';
    echo '<tr>';
    echo '<td width="16%" class="titres_tab" >Date de Commande</td>';
    echo '<td width="15%" class="titres_tab" >Date Exp&eacute;dition</td>';
    echo '<td width="15%" class="titres_tab">N° Commande</td>';
    echo '<td width="8%" class="titres_tab" >R&eacute;f </td>';
    echo '<td width="8%" class="titres_tab" >Porteur</td>';
    echo '</tr>';
    echo '<tr>';

    $sql = ("select champ1, champ2,....champN from ta_table where tes conditions");
    $parseur= ociparse($connect,$sql);
    oci_execute($parseur);
    while(ocifetch($parseur)) {//debut while
    echo '<tr>';
    $champ1=oci_result($parseur,1);
    echo '<td>$champ1</td>';
    $champ2=oci_result($parseur,2);
    echo '<td>$champ2</td>';
    $champ3=oci_result($parseur,3);
    echo '<td><input type="checkbox" style="visibility:hidden;" name="RCV_NO[]" value='.oci_result( $stmt_select, "RCV_NO").'> $champ3</td>';
    $champ4=oci_result($parseur,4);
    echo '<td>$champ4</td>';
    $champN=oci_result($parseur,N);
    echo '<td>$champN</td>';

    echo '</tr>';
    } // fin de while
    echo '</tr>';
    echo '</table>';
    echo '</tr>';
    echo '</td>';
    echo '</table >';
    echo '<br/>';
    echo '<input name="envoyer" type="submit" value="Envoyer" class="bt_enregistrer">';

    } // fin de if ($result)

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/04/2008, 15h08
  2. [MySQL] Plusieurs while imbriqués pour expoitation de résultats
    Par jojo57 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 20/03/2008, 14h01
  3. [MySQL] Avoir les 50 premiers résultat par rapport à une recherche
    Par polemoss dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 30/11/2007, 11h42
  4. Réponses: 5
    Dernier message: 08/03/2007, 12h14

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