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 :

boucle wheil dans une boucle mysql_fetch_array


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    458
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 458
    Par défaut boucle wheil dans une boucle mysql_fetch_array
    Bonjours,
    je doit faire un order by rand() qui marche très bien mais je veu afficher pas plus de 4500 résultat

    le problème c'est que si je fais sa dans ma requette sa marche mais sa m'en affiche ~4000

    car dans mon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while ($export=mysql_fetch_array($export_query)) {
    j'ai mis une fonction qui m'enlève des numéro éronné ce qui fait qu'il me prendra 4500
    mais qui m'en enlèverra donc il faut que je fasse un while dans ma boucle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while ($export=mysql_fetch_array($export_query)) {
    le problème c'est que sa marche pas quelqu'un peut de dire mon erreur svp

    mon code est le suivant:

    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
    	$export_query=mysql_query(" SELECT customers_id, customers_nom, customers_prenom , customers_gsm, customers_email FROM customers WHERE customers_pays = 'France' and customers_unjoin_date = '0000-00-00' and  customers_gsm !='06' and customers_gsm !='' and  customers_client='1'  ORDER BY RAND() ");
     
    $i='1';
    while ($i < 4500)) {
    	while ($export=mysql_fetch_array($export_query)) {
    		// on recupere les resultats de la requete
    		$customers_id = $export[0];  $customers_nom = $export[1];  $customers_prenom = $export[2];  $customers_gsm = $export[3]; $customers_email = $export[4];
    		 $numero  = $export['customers_gsm'];
    				 remplaceNum($numero);
    				 $num_gsm = remplaceNum($numero);
    			if(ctype_digit($num_gsm) & StrLen($customers_prenom) <= 10){
     
    		$export_data .=$export["customers_id"] . "\t";
    		$export_data .=$export["customers_nom"] . "\t";
    		$export_data .=$export["customers_prenom"] . "\t";
    		$export_data .=$num_gsm. "\t";
    		$export_data .=$export["customers_email"] . "\t";
    		$export_data .="\n";
    		$i++;								}
    	}
    	}
    je vous remerci de votre aide

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Août 2007
    Messages : 109
    Par défaut
    bonjour,

    Voici une solution :
    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
     
     
    	$export_query=mysql_query(" SELECT customers_id, customers_nom, customers_prenom , customers_gsm, customers_email FROM customers WHERE customers_pays = 'France' and customers_unjoin_date = '0000-00-00' and  customers_gsm !='06' and customers_gsm !='' and  customers_client='1'  ORDER BY RAND() ");
     
    $i='1';
    while ($export=mysql_fetch_array($export_query)) 
    {
        // test pour la sorti de la boucle quand tu arrive à 4500
         if ($i>= 4500) break; // tu peux aussi mettre break 1;
    		// on recupere les resultats de la requete
    		$customers_id = $export[0];  $customers_nom = $export[1];  $customers_prenom = $export[2];  $customers_gsm = $export[3]; $customers_email = $export[4];
    		 $numero  = $export['customers_gsm'];
    				 remplaceNum($numero);
    				 $num_gsm = remplaceNum($numero);
    			if(ctype_digit($num_gsm) & StrLen($customers_prenom) <= 10){
     
    		$export_data .=$export["customers_id"] . "\t";
    		$export_data .=$export["customers_nom"] . "\t";
    		$export_data .=$export["customers_prenom"] . "\t";
    		$export_data .=$num_gsm. "\t";
    		$export_data .=$export["customers_email"] . "\t";
    		$export_data .="\n";
    		$i++;								
    }

Discussions similaires

  1. [PDO] Une boucle while dans une boucle while
    Par subran dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 28/02/2015, 19h32
  2. [MySQL] Calcule dans une boucle mysql dans un echo
    Par sinifer dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 07/05/2009, 12h40
  3. Réponses: 1
    Dernier message: 09/05/2008, 16h35
  4. Effectuer une boucle (foreach) dans une procédure stockée ?!
    Par Danny Blue dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 16/11/2007, 16h02
  5. [SQL] Boucle SQL dans une boucle for
    Par architecte dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 14/08/2007, 11h47

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