UNE requete DEUX écritures...

Statut
N'est pas ouverte pour d'autres réponses.

sebge2

Elite
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
 

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 :/
 
1er
OP
sebge2

sebge2

Elite
PRoMe a dit:
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 :/
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:
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut