• imprimer
  • aide

Forum de discussions « PHP - SQL »

Retrouvez les publications relatives à ces discussions dans nos rubriques PHP, SQL.

Vérifier et boucler

liste des forums liste des discussions Participer à la discussion

Photo de cyrilj 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
Photo de AdrienVH 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
Photo de AdrienVH 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)...
Photo de AdrienVH 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
}
Photo de cyrilj 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.

ACCÉS COMMUNAUTÉ

Rejoignez ALL HTML

Publiez vos articles, actualités, communiqués ... Donnez votre avis, partagez votre réseau, rencontrez d'autres membres et participez à la vie de la communauté.

Les 5 dernières discussions