Retrouvez les publications relatives à ces discussions dans
nos rubriques PHP, SQL.
liste des forums
liste des discussions
Participer à la discussion
-
Message publié le mardi 31 août 2010 - 18h09 par cyrilj.
-
Bonjour,
j'ai un souci à priori simple mais la je bloque un peu (beaucoup).
Je génère un numéro automatique :
------------
$chaine = '0123456789';
srand((double)microtime()*1000000);
$transaction_id='';
for($i=0; $i<6; $i++) { $transaction_id.=$chaine[rand()%strlen($chaine)]; }
------------
Ensuite je vérifie i ce numéro existe déjà dans un champ de ma table
-------------
$Verif = mysql_query("verif si numero existe");
$nbVerif = mysql_num_rows($Verif);
--------------
Ensuite deux actions :
--------------
if($nbVerif == '0') { ==> mise à jour de ma base de données } (ça pas de soucis)....
if($nbVerif == '1') { ==> il faut regénérer un numéro automatique et là je coince :/
Je ne sais pas comment faire un genre de "RETURN" pour recalculer à nouveau une chaine.
Merci pour votre aide
Cyril
-
Message publié le jeudi 02 septembre 2010 - 13h11 par AdrienVH. http://www.adrienvanhamme.fr/
-
Salut,
Fais de ta création de numéro aléatoire une fonction à part...
De cette façon tu pourras la re-appeler sans soucis...
function alea()
{
// Blabla
}
$tr_id = alea();
$Verif = mysql_query("verif si numero existe");
$nbVerif = mysql_num_rows($Verif);
if($nbVerif == '0') { ==> mise à jour de ma base de données } (ça pas de soucis)....
if($nbVerif == '1') { $tr_id = alea();
Adrien
-
Message publié le jeudi 02 septembre 2010 - 13h15 par AdrienVH. http://www.adrienvanhamme.fr/
-
Sinon tu peux aussi regarder du côté de la récursivité (la fonction qui s'appele elle même)...
-
Message publié le jeudi 02 septembre 2010 - 13h45 par AdrienVH. http://www.adrienvanhamme.fr/
-
Un truc dans ce genre là (codé vite fait avec les pieds ce midi)
function aleatoire()
{
$chaine = '0123456789';
srand((double)microtime()*1000000);
$transaction_id = '';
for($i=0;$i<6;$i++)
{
$transaction_id .= $chaine[rand()%strlen($chaine)];
}
$Verif = mysql_query("verif si numero existe");
$nbVerif = mysql_num_rows($Verif);
if($nbVerif == 0)
{
// mise à jour de ma base de données
}
elseif($nbVerif >= 1)
{
$transaction_id = aleatoire();
}
return $transaction_id
}
-
Message publié le lundi 06 septembre 2010 - 15h57 par cyrilj.
-
Salut
super merci pour le coup de main. Je teste ça rapido.
A+
liste des forums
liste des discussions
Participer à la discussion
Vous devez obligatoirement vous identifier en tant que membre pour participer à cette discussion.