Page 1 sur 1

str_replace sur un champ mysql de type string

Posté : 04 mai 2015, 09:44
par LylouBeta
Bonjour,

J'ai un select MySql qui me permet de récupérer des données.

Parmi les données récupérées, j'ai dans le champ ['event_tks_twitter'] un type varchar "https://twitter.com/phpdebutant".
Je souhaiterai faire un str_replace sur "https://twitter.com/" par "@" pour la variable $data ci-dessous. Quelle est la syntaxe pour faire un replace sur le varchar d'un champ ?
$sqlReq = $db->prepare("SELECT event_tks_category, event_tks_eventname, event_tks_type, event_tks_twitter, metrics_tks_number, metrics_tks_name
FROM `vtiger_event` 
JOIN vtiger_metrics ON metrics_tks_event = eventid
JOIN vtiger_crmentity ON crmid = metricsid
WHERE deleted =0
AND metrics_tks_number = ( 
SELECT metrics_tks_number
FROM vtiger_metrics
JOIN vtiger_crmentity ON crmid = metricsid
WHERE deleted =0
ORDER BY CAST( metrics_tks_number AS SIGNED ) DESC 
LIMIT 1 ) ");

$sqlReq->setFetchMode(PDO::FETCH_ASSOC); 
$sqlReq->execute();

$link = $sqlReq->fetchAll();

$data['text'] = '['.$link[0]['event_tks_type'].']'.' '.$link[0]['event_tks_twitter'].' '.'avec'.' '.$link[0]['metrics_tks_number'].' '.$link[0]['metrics_tks_name'].''."#".$link[0]['event_tks_category']";

Re: [RESOLU] str_replace sur un champ mysql de type string

Posté : 04 mai 2015, 12:21
par Ryle
Avec MySQL : REPLACE(str,from_str,to_str)
mysql> SELECT REPLACE('https://twitter.com/phpdebutant', 'https://twitter.com/', '@');

Avec PHP : str_replace() ou preg_replace()
$data = str_replace('https://twitter.com/', '@', $data);

Re: [RESOLU] str_replace sur un champ mysql de type string

Posté : 04 mai 2015, 12:35
par LylouBeta
J'ai posé ma question trop vite et trouvé la réponse ^^ Merci pour votre réponse ;-)