par
Ryle » 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

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 :
[php]$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
}[/php]
Te reste plus qu'à modifier, adapter, bidouiller, farfouiller, bricoller... bref développer ;)