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 :

[SQL] Boucle et requête


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 182
    Points : 64
    Points
    64
    Par défaut [SQL] Boucle et requête
    bonjour,
    Le code suivant me fait planter ma machine !
    En fait je fais une premiere requete. Si la requete ne me renvoie aucun resultat je fais une requete en boucle jusqua ce quil me trouve le resultat (ici une reference).

    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
    $REQUETE = "select REF, VERIF_REF, NOM, FOURNISSEUR, CAMPAGNE, CATALOGUE, RECU_IM, DEADLINE, ENVOITRAD, RECUTRAD, ENVOIBDL";
    $REQUETE.= " from fiche_info, notices";
    $REQUETE.= " where REF like '%".$RECUP_TEXTE_RECHERCHE."%'";
    $RESULTAT= mysql_query ($REQUETE, $CONNEXION);
    $NB_LIGNES= mysql_num_rows ($RESULTAT);
    if($NB_LIGNES==0){
     $i = 2;
     do {
      $REQUETE_T = "select REF_TEXTILE";
      $REQUETE_T.= " from textile";
      $REQUETE_T.= " where REF".$i." like '%".$RECUP_TEXTE_RECHERCHE."%'";
      echo $REQUETE_T;
      $RESULTAT_T= mysql_query ($REQUETE_T, $CONNEXION);
      $NB_LIGNES= mysql_num_rows ($RESULTAT_T);
      if($NB_LIGNES==1){
       $PRODUIT_T=mysql_fetch_array ($RESULTAT_T);
       extract ($PRODUIT_T);
       break;			
      }
     $i++;
     } while ($i = 10);
    }

  2. #2
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    remplace le while par :
    ou
    D'une manière générale, si tu dois faire N passages, une boucle for sera plus indiquée.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 182
    Points : 64
    Points
    64
    Par défaut
    effectivement ca marche mieux avec <= ;-)

    Par contre mon break n'a pas l'air detre pris en compte. Jai mi un echo de la requete et il maffiche les 9 requetes alors quil devrait par exemple sarreter a la 2ieme ?!?

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 182
    Points : 64
    Points
    64
    Par défaut
    Jai appliquer une boucle for et ca me fait la meme chose, le break nest pas pris en compte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    for ($i = 2; $i <= 10; $i++) {
     $REQUETE_T = "select REF_TEXTILE";
     $REQUETE_T.= " from textile";
     $REQUETE_T.= " where REF".$i." like '%".$RECUP_TEXTE_RECHERCHE."%'";
     echo $REQUETE_T."<br />";
     $RESULTAT_T= mysql_query ($REQUETE_T, $CONNEXION);
     $NB_LIGNES= mysql_num_rows ($RESULTAT_T);
     if($NB_LIGNES==1){
      $PRODUIT_T=mysql_fetch_array ($RESULTAT_T);
      extract ($PRODUIT_T);
      break;			
     }
    }

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 182
    Points : 64
    Points
    64
    Par défaut
    ah non cest moi !
    javais plusieurs resultats pour ma requete et comme je faisais le break sur un resultat unique forcement ca marchait pas !
    autant pour moi ....
    merci

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

Discussions similaires

  1. Boucle dans requête SQL.
    Par Philou1313 dans le forum ASP
    Réponses: 3
    Dernier message: 30/06/2006, 22h50
  2. [SQL] Boucle de requête SQL
    Par xender dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 12/05/2006, 12h57
  3. [SQL] Problème de requête SQL de plus de 8060 caractères ?
    Par webtheque dans le forum MS SQL Server
    Réponses: 13
    Dernier message: 06/04/2005, 16h07
  4. Affecter résultat SQL d'une requête à une variable
    Par bozolozo dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 02/01/2005, 18h37
  5. [PL/SQL] Parseur de requête
    Par SheikYerbouti dans le forum SQL
    Réponses: 19
    Dernier message: 20/04/2004, 17h04

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