Recientemente debido a un problemilla en la configuracion de artio un modulo que genera url amigables me he encontrado con mas de 4000 articulos mal creados donde aparece secciones que no corresponden etc etc. por ejemplo tenemos un articulo con la siguiente url amigable

articulos/microsoft/windows/office/reinstalar-office.

 

lo que he pretendido es que la url sea mas corta y algo mas simple tal como podria ser

 

windows/office/reinstalar-office

 

Bien mi solucion rapida y efectiva por supuesto 🙂 ha sido lanzar una select sobe la bd que me remplaze todo automaticamente. Para ello lo primero he usado el comando LOCATE.

 

Este comando nos dara el numero de la posicion donde se encuntra la palabra en nuestro caso windows sobre el campo sefurl

locate(texto,campo)

 

select  locate(‘windows’,sefurl) from jos_sefurls

 

Bien una vez tenemos la posicion lo que hacemos es remplazar con el comando substring este comando extrae la cadena de texto a partir de una posicion.

En mi caso cojo el campo sefurl y a partir del numero obtenido por locate cojo la parte de la derecha.

SELECT substring(sefurl,locate(‘windows’,sefurl)),sefurl,id FROM jos_sefurls

 

bueno esto nos mostrara como se queda ahora quiero remplazar.

 

update jos_sefurls set sefurl = substring(sefurl,locate(‘windows’,sefurl)) where ….

 

Al final le podemos establecer un where para hacer un poco mas fina la sustitucion.

 

Por admin

Deja una respuesta

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock