arnold002
Messages postés121Date d'inscriptionmercredi 27 octobre 2004StatutMembreDernière intervention 5 mars 2007
-
10 mai 2005 à 15:46
cs_Camomille
Messages postés9Date d'inscriptionmardi 2 septembre 2003StatutMembreDernière intervention 1 novembre 2023
-
21 oct. 2005 à 21:14
Bonjour à tous,
J'ai une base de données contenant 700 membres.
Je voudrai générer un mot de passe aléatoire, et faire ensuite un update dans ma base.
Le mot de passe doit être différent pour chaque membre.
Chaque membre à un id unique compris entre 10 et 704 inclus.
J'utilise une boucle for() mais je n'arrive pas à ce que je souhaites.
Voici mon code :
arnold002
Messages postés121Date d'inscriptionmercredi 27 octobre 2004StatutMembreDernière intervention 5 mars 2007 10 mai 2005 à 16:48
Merci de ta réponse,
Ca faisait beaucoup en effet...
Néanmoins, j'arrive au même résultat que précédemment, à savoir un mot de passe généré identique pour tous les enregistrements.
le mot de passe ne se génère pas à chaque boucle.
cs_Camomille
Messages postés9Date d'inscriptionmardi 2 septembre 2003StatutMembreDernière intervention 1 novembre 2023 20 oct. 2005 à 14:35
Bonjour,
j'avais cru trouver une réponse au problème qui me préoccupe actuellement dans ce sujet.
Contrairement à Arnold002, le résultat à insérer est spécifique à l'id (num chez moi)
Ma requête de base est:
$requete =mysql_db_query($sql_bdd, "SELECT adulte_num FROM adultes WHERE Client_num=$num ; ",$db_link) or die(mysql_error());
$totadultes=mysql_num_rows($requete);
Y a-t-il un moyen d'insérer la centaine de "$totadultes" que produirait cette requête chez le num correspondant dans la table de destination qui contient déjà les num (id) concernés.
cs_Camomille
Messages postés9Date d'inscriptionmardi 2 septembre 2003StatutMembreDernière intervention 1 novembre 2023 20 oct. 2005 à 17:18
Merci pour ta réponse.
Oui, c'est bien cela. Je ne comprends pas trop à quoi correspondent les paramètres
for($j=10; $j<705; $j ++)
de l'instruction. J'ai bien essayé en remplaçant $j par $num mais j'ai également la même valeur qui est entrée pour chaque enregistrement.
"num" est l'ident unique pour chaque client. Mais comme un premier tri à été fait, chaque "num" n'est plus le "précédent +1" !!
Si tu pouvais m'indiquer un bon tuto sur cette instruction, j'y arriverai peur-être!
Peut-être que je me trompe complètement et qu'il faudrait employer une autre instruction pour faire ce que je veux ?!!
cs_Camomille
Messages postés9Date d'inscriptionmardi 2 septembre 2003StatutMembreDernière intervention 1 novembre 2023 21 oct. 2005 à 21:14
J'emploie un INSERT SELECT en premier lieu pour filtrer les clients pour lesquels un calcul doit être fait. Leurs coordonnées et leur id (Client_num) sont insérés dans une table vide .
$requete=mysql_db_query($sql_bdd,"INSERT INTO forfaits(Client_num, nom)
SELECT DISTINCT num, Nom FROM clients WHERE Client_annee=1 AND EMPLACEMENT>0
ORDER BY Nom",$db_link) or die(mysql_error());
Comme cette table contient un champ auto incrémenté (numero), un petit script "maison" va chercher à quel Client_num orrespond "numero + 1" et renvoie la serie de requêtes pour le client suivant.
Mais tout cela reste du "bricolage"!! Le processus des requêtes se plante à chaque coup. Un petit test en remplaçant le "header" vers les nouvelles requêtes par un lien à cliquer m'a permis de réussir les 97 calculs! Mieux encore, en insérant une page créant un temps mort entre les requêtes de chaque client permet de tout faire marcher sans encombres!
Je sais bien que tout cela n'a rien de pro mais j'essaye d'en apprendre tous les jours. 8 pages php sont appelées pour chaque client!! Oui, je sais !!!!!!!!
Merci pour vos bons conseils et bon week end à tous.