Récupérer le nombre de caractère d'un texte ? - SQL/NoSQL - Programmation
MarshPosté le 31-03-2008 à 21:52:56
Hello, j'ai actuellement un cron sur mon site qui modifie un champ de la BDD pour chaque joueur si il fait plus de 4 000 caractère. Je fais actuellement comme ca :
Code :
<?PHP
$txt = 'Effacé car trop long';
$rep = mysql_query('SELECT id, texte FROM joueurs');
while ($donnees = mysql_fetch_array($rep))
{
$id = $donnees['id'];
if (strlen($donnees['texte']) > 4000)
mysql_query("UPDATE joueurs SET texte = '$txt' WHERE id='$id'" );
}
?>
Mais si j'ai plusieurs millier de joueurs et que tous ont leurs "texte" trop long, ca me fait énormément de requêtes... Donc ma question est : y'a t'il un moyen pour récupérer avec MySQL la taille d'une chaîne de caractère ? Et donc pouvoir faire mon code du dessus en une seul requête ? Faire un truc du genre :
Code :
mysql_query("UPDATE joueurs SET texte = '$txt' WHERE strlen(texte) > 4000" );
Marsh Posté le 31-03-2008 à 21:52:56
Hello,
j'ai actuellement un cron sur mon site qui modifie un champ de la BDD pour chaque joueur si il fait plus de 4 000 caractère.
Je fais actuellement comme ca :
Mais si j'ai plusieurs millier de joueurs et que tous ont leurs "texte" trop long, ca me fait énormément de requêtes...
Donc ma question est : y'a t'il un moyen pour récupérer avec MySQL la taille d'une chaîne de caractère ? Et donc pouvoir faire mon code du dessus en une seul requête ?
Faire un truc du genre :
Merci !