tirer au hasard 5 lettres de l'alphabet

El doc
Invité n'ayant pas de compte PHPfrance

19 avr. 2006, 17:50

Ok mais ca m'enregistre toujours la même valeur en base :cry:

AU SECOURS !!!!

Je voudrais juste entrer dans un champ vide "C" de ma table "T" une valeur unique.

Par avance merci

El doc

El doc
Invité n'ayant pas de compte PHPfrance

19 avr. 2006, 20:37

Bonsoir je suis dans la merde ultime !!!!

Quelqu'un peut-il m'aider même plus puisqu'on me demande d'écrire un script que je ne connais pas et je dois le faire pour demain.

Reconnaissance éternelle à ceux qui voudront bien m'aider...

Comment arrêter de boucler l'update svp !!!!

El doc...

Eléphant du PHP | 451 Messages

19 avr. 2006, 21:18

Ben je veux bien essayer de t'aider mais tu en es où ?
Tu as une adresse où te joindre sur msn ?
Jpaul
J'essaye d'aider : parfois je fais des erreurs, on me les corrige et j'apprends un peu plus. Super ce forum :)

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

19 avr. 2006, 21:40

Tu as une adresse où te joindre sur msn ?
Hum hum [-(
Je fait pas la loi mais la fait respecter :lol:

Nous sommes sur un forum publique alors que ce soit des quetion qui sont "urgentes" ou non les réponses sont préférables en publique pour que tout le monde puisse en profiter par la suite. :)

@El doc
Regarde ce post et notamment la fonction passgen() qui fait appel à mt_rand() pour un tri au hasard

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 451 Messages

19 avr. 2006, 21:45

Hum hum [-(
Je fait pas la loi mais la fait respecter :lol:

Nous sommes sur un forum publique alors que ce soit des quetion qui sont "urgentes" ou non les réponses sont préférables en publique pour que tout le monde puisse en profiter par la suite. :)

:oops:
Oki pas de problème, je prends note, 8) moi je proposais ça juste pour gagner du temps : je ne vais pas rester debout jusqu'à 3 H du mat, je bosse demain :wink:
Jpaul
J'essaye d'aider : parfois je fais des erreurs, on me les corrige et j'apprends un peu plus. Super ce forum :)

El doc
Invité n'ayant pas de compte PHPfrance

20 avr. 2006, 09:23

Merci à tous et en particulier à toi jpaul pour ton soutien. J'ai trouvé une solution alternative mais je veux réussir question de fierté et d'apprentissage avec le script initial.

Je bloque sur les tableaux, c'est dingue, je reprends avec un exemple concret :

J'ai 100 enregistrements en base. J'ai une colonne de ma base pour ces 100 individus qui est vide. Je dois donner une valeur unique, je dis bien unique sur 5 caractères pour chacun des 100 enregistrements.

Le script modifié affichait bien 100 infos uniques mais entrait en base que la dernière info générée, la dernière valeur de i donc stérile pour de l'unique. Comment faire ? Je pense que ca va se jouer avec un tableau...D'autre part, comment placer dans un tableau le résultat d'un select ?

Je sais que votre temps est précieux...

El doc

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

20 avr. 2006, 10:15

Si tu ne met pas de condition WHERE dans ta requête update, ce sont tous les enregistrements qui sont affectés. Il faut donc boucler pour chaque id utilisateur, générer le code et mettre à jour sa ligne uniquement :
$alphatab=array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'); 

$sql = "SELECT idDesUsers FROM tableDesUsers"; // liste des id
$rs = mysql_query($sql); // exécution
while($row = mysql_fetch_assoc($rs)) { // pour chaque utilisateur
  $idDuUser = $row['idDesUsers']; // récupération de l'id

  $indices = array_rand($alphatab,3); 
  $q2="update matable set monchamp='"; 
  foreach($indices as $keys) { 
    $q2 .= $alphatab[$keys]; 
  } 
  $q2 .= "'"; 
  $q2 .= " WHERE idDesUsers = $idDuUser"; // l'update ne se fera que sur le user en cours

  echo $q2; // pour voir que la requête générée est bonne
// ou bien directement
  mysql_query($q2); // execution
}
Te reste plus qu'à modifier, adapter, bidouiller, farfouiller, bricoller... bref développer ;)

Invité
Invité n'ayant pas de compte PHPfrance

20 avr. 2006, 10:56

Merci Ryle, je testerai ça ;)