Aide programmation PHP

Aide programmation PHP - PHP - Programmation

Marsh Posté le 27-05-2013 à 18:42:30    

Bonjour,
 
Je suis novice, j'ai un forum ou les membres sont gérés dans une base mysql dans une table membre avec id et pseudo (pour ce qui sera surement utile).
 
 
Leurs messages sont dans une table message avec id , pseudo , message notamment.
 
 
J'aimerai pouvoir ramplacer des termes (un mot en particulier en faites) dans les messages de certains membres,
 
Je voulais utiliser la fonction preg_replace mais je ne sais pas comment mettre une condition pour que ce soit seulement sur les messages de certains membres?
 
 
Merci pour votre aide.

Reply

Marsh Posté le 27-05-2013 à 18:42:30   

Reply

Marsh Posté le 28-05-2013 à 10:22:49    

ben tu fais une requête de la forme UPDATE message, SET message = REPLACE(message, "MotARemplacer", "MotRemplacant" ) WHERE pseudo IN (PseudoID1, PseudoID2...)
 
http://dev.mysql.com/doc/refman/5. [...] on_replace
 
Pas besoin de PHP pour ça. Et si t'as vraiment besoin des regexp en sql, sous Mysql, t'as REGEXP() ;)


Message édité par rufo le 28-05-2013 à 10:23:47

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 28-05-2013 à 21:19:28    

Merci, ça marche en faisant une requête sql dans phpmyadmin mais j'aimerai que ça se fasse automatiquement en introduisant la requête au milieu d'un script php,
 
avec  
 
mysql_connect("localhost", "root", "" );
mysql_select_db("base1" );
mysql_query("UPDATE message SET message = replace(message,'mot1','mot2') WHERE idPseudo IN ('25', '34'))
 
 
 
sauf que ça fonctionne pas parce que je place mal tout les guillemets et que peut être il faut des variables??

Reply

Marsh Posté le 29-05-2013 à 09:44:45    

mysql_query("UPDATE message SET message = replace(message,'mot1','mot2') WHERE idPseudo IN (25, 34)" );
 
Edit : au passage, avoir un nom de champ identique à un nom de table, c'est pas top niveau compréhension.


Message édité par rufo le 29-05-2013 à 09:45:45

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed