Probleme avec une fonction de smiley

Répondre
mobman02
le 17/01/2005 à 18:59
mobman02
function smiley($texte)
{
connect();

$sql = 'SELECT code,url FROM news_smileys';
$req = mysql_query($sql) or die('Erreur SQL ! <br>'.$sql.'<br>'.mysql_error());

while($data = mysql_fetch_array($req))
{
$texte_mod = str_replace($data['code'],'<img src="'.$data['url'].'" align="middle">',$texte);
}
echo $texte_mod;
mysql_close();
}


ya un probleme avec cette fonction.

Lorsque je lui donne un texte avec des :D :p :) le script doit les remplacer par <img src="url_du_code">
Les code/url sont contenu dans une table (news_smiley).
Et, le bug c'est que le script ne remplace que les codes correspondant au dernier enrengistrement de la table de smiley.
Cela fait que seul un des 3 trois smiley est modifier.

J'ai tenter de changer quelque truc,
mais, la je m'avoue vaincu,
je ne comprend pas pourquoi la fonction ne marche pas !

Pour moi, dans ma tete (^^) cette fonction devrai fonctionner, etant donner que je fait une boucle,
donc pour chaque enrengistrement de la table news_smileys le script devrai faire un tour...
Donc tout les code ( :p :D :) ) devrai etre changer en <img src"">...

Je precise que c'est en partie le script de smiley proposer en telechargement.
Je penser que ca aller bien m'aider mais c'est deja la deuxieme fois que je suis bloquer.
Ce script est plein d'erreurs. :s

Merci d'avance.
http://damienalexandre.fr/
bibi
le 17/01/2005 à 19:15
bibi
t'as essayé de voir en faisant les str_replace un par un pour tester voir si c la boucle qui foire ou si c le str_replace ??
commit suicide
mobman02
le 18/01/2005 à 07:17
mobman02
nan j'ai pas essayer parce que ca resoudrais pas le probleme...
http://damienalexandre.fr/
ace
le 18/01/2005 à 09:52
ace
C'est normal très cher :)

Tu crées la variable $texte_mod à chaque passage de boucle et tu te base tjs sur la variable $texte passée en paramètre à la fonction. Donc à chaque passage de boucle t'as une belle variable $texte toute neuve qui a tout oublié des transformations qu'on a pu lui faire...

$remplace $texte_mod par $texte, simplement... Comme ça à chaque itération, tu modifies vraiment $texte.

Evidemment à la fin de la fonction tu echo $texte...
bibi
le 18/01/2005 à 16:46
bibi
jamai meme pa grillé la différence de variable lol
ca explique donc le probleme héhé
commit suicide
ace
le 18/01/2005 à 17:24
ace
Ca on ne le voit plus quand on devient trop bon :P
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours