UNE requete DEUX écritures...

Discussion dans 'Web, design' créé par sebge2, 13 Septembre 2004.

Statut de la discussion:
Fermée.
  1. Offline
    sebge2 Touriste
    salut salut :cry:

    mon problème me rend fous depuis hier !!! ahaaa

    Code:
    		$numdemande=rand(0,99999999999);
    		
    		// Connexion à la table
    			$resultat=@mysql_query("SELECT * FROM ".$Pre.$Table." ORDER by numdemande"); 
    			if(!$resultat) echo "Impossible d'exécuter la requête !";
    		// Fin de la Connexion à la table			
    		
    		if(mysql_num_rows($resultat)!=0){
    			function test($nombre){
    
    				// Connexion à la table
    					$resultat=@mysql_query("SELECT * FROM ".$GLOBALS['TableG']." ORDER by numdemande"); 
    					if(!$resultat) echo "Impossible d'exécuter la requête !";
    				// Fin de la Connexion à la table							
    				
    				while ($ligne=mysql_fetch_array($resultat)){			
    					if($ligne[numdemande]==$nombre){ $ok=2; break; }
    					else{ $ok=1; };
    				}
    				
    				if($ok!=1) return test(rand(0,99999999999));
    				
    				return $nombre;
    			}
    			
    			$nombreT=test($numdemande);
    		}
    		else $nombreT=$numdemande;
    		
    		
    		
    		// Connexion à la table
    			echo mysql_query("INSERT INTO ".$Pre.$Table." (numdemande) VALUES('".$nombreT."')"); 
    			
    			echo "\n\n<!-- SAUVEGARDE DE LA DEMANDE \nINSERT INTO ".$Pre.$Table." (numdemande) VALUES('".$nombreT."')\n     ".mysql_errno() . ": " . mysql_error() . "-->\n\n";
    			//if(mysql_query($requete="INSERT INTO ".$Pre.$Table." (numdemande) VALUES('".$nombreT."'")) echo "ok".$requete; 
    			//else echo "pas oki !!!!!!!";
    		// Fin de la Connexion à la table
    qd il me fais un echo du querry il me met 1 donc oki quand je mettais if(mysql) il me disait tjs UNE SEULLE fois ok donc pas de prob mais qd je v voir les lignes dans la table il m'en a écrit deux !

    je crois qu'il ne merde jamais qd mysql num rows ==0 donc ca viendrait de la fonction ....

    le but de la fonction est de générer un nombre entre 0 et (10^12)-1 ...11 chiffres quoi et si il voit qu'il existe deja un nombre il renvoie a lui meme un nouveau numero gérer tjs alléatoirement


    merci d'avance :D
    sebge2, 13 Septembre 2004
    #1
  2. Offline
    Xou I ♥ rien
    Conseil : fous ta fonction ds un autre fichier
    tu auras plus facile à t'y retrouver pq là ça fait foutoir.

    Code:
    if($ok!=1) return test(rand(0,99999999999)); 
                 
    else return $nombre; 
    
    Ca serait aussi déjà plus compréhensible.
    Mais bizarre d'avoir deux nombres :/
    Xou, 13 Septembre 2004
    #2
  3. Offline
    sebge2 Touriste
    merci ca a l'ari daller :D

    le dernier return j'ai mis ca : $GLOBALS['nombreT']=$nombre;ainsi il n'y a qu'un return c'est celui qui renvoie a la fonction elle meme ... thx :wink:
    sebge2, 13 Septembre 2004
    #3
  4. Offline
    sebge2 Touriste
    sebge2, 13 Septembre 2004
    #4
Statut de la discussion:
Fermée.