Tophost

Database - Ritoccare i contenuti da query

google-plus Scritto da . Postato in Joomla!

Capita se mettete mano ai contenuti di siti fatti da altri con l'asilio di un CMS, Joomla! o WordPress che sia, che siate costretti di mettere mano a ciò che ha fatto nel corso del tempo l'utente ultimo.

A me è capitato con il sito planetkoi.com di dover mettere mano a contenuti di 2 anni, accumulati sulla base del CMS Joomla! 2.5.

Dopo averlo aggiornato a Joomla! 3 e aver cambiato il template in uno più moderno e appetibile dal punto di vista dell'utenza, mi sono imbattuto in errori grossolani, come l'inserimento di prodotti nel componente gratuito per l'e-commerce JoomShopping con l'ausilio di tabelle e livelli (tag DIV) aperti e non chiusi. 

campo contenuto

Il risultato era che i prodotti nella view si sormontavano o addirittura era indistinguibile il contenuto del prodotto stesso. mad

Tenuto conto che il cliente aveva utilizzato lo stesso modello per almeno un centinaio di prodotti, se avessi dovuto agire prodotto per prodotto sarei impazzito e magari avrei commesso anche io errori grossolani che poi mi sarebbero costati tempo di ricerca e correzzione... una seconda volta! confused

Di certo, per quanto il computer sia stupido (e lo è), se gli si dice esattamente cosa fare lui lo fa, preciso senza compiere errori. Certo, tutto sta nel calcolare le istruzioni che gli date, altrimenti vi potreste trovare qualche spiacevole sorpresa.

Questo articolo, lo dedico a questo tipo di operazione, cioè ad aggiornare, updatare, ritoccare conenuti multipli e che seguono uno schema comune, attraverso le query.

Ovviamente, potete applicare queste informazioni a qualunque CMS che utilizzi MySql, visto che si tratta di entrare in qualsiasi database manager come phpMyAdmin e digitare l'istruzione per la tabella specifica per poi mandarla in esecuzione stringendo le dita.

Appunto stringendo le dita, per questo, come sempre vi consiglio caldamente di fare il backup, se non dell'intero sito, almeno del database. Così se non ottenete ciò che volete e rovinate i contenuti almeno avrete l'opportunità di tornare indietro senza dover ricorrere alle manovre manuali.

Per Joomla! esiste lo strumento Akeeba Backup pratico, semplice e gratuito.

Per WordPress, esistono tools come BackupWordPress che fa la stessa identica cosa, sempre gratuitamente.

Ma ora torniamo a noi, ossia:

Come fare a trovare e sostituire testo in un campo di una tabella MySQL

Il mio caso era quello di ritoccare il contenuto descrittivo di prodotti all'interno di un componente per l'e-commerce. Ma i campi di applicazione di questo tipo di query, sono molteplici. Pensate all'aggiornamento di sigle o codici aziendali, la ragione sociale di una azienda, delle url o email cambiate, errori ortografici o tag usati impropiamente (il mio caso), etc.

Potreste anche dover ritoccare i contenuti degli articoli o dei post di Joomla! (tabella content).

Per sostituire solo una parte del testo contenuto in uno dei campi di una tabella di un database MySql, esiste l'utilissima funzione REPLACE:

UPDATE prefix_nometabella SET `campotabella` = REPLACE(`campotabella`, 'testo da sostituire', 'testo sostitutivo');

Ma vediamola nel dettaglio:

  • UPDATE prefix_nometabella è l'istruzione SQL di aggiornamento di MySql sulla tabella specificata.
  • prefix_ è il prefisso della tabella Joomla! o WordPress che avete scelto (o è stato scelto) al momento dell'installazione del CMS.
  • SET `campotabella` indica all'istruzione UPDATE che il campo su cui operare è quello specificato.
  • = REPLACE(`campotabella`, 'testo da sostituire', 'testo sostitutivo') indica all'istruzione che dovrà essere sostituito all'interno di `campotabella` qualsiasi ricorrenza di 'testo da sostituire' con 'testo sostitutivo'.

Un esempio pratico:

Nel mio caso, la query era simile a questa:

UPDATE `jos_jshopping_products` SET `description_it-IT`  = REPLACE(`description_it-IT`, '<div style="text-align: justify;">', '')

L'intento era quello di eliminare tutti i tag DIV aperti e non chiusi all'interno della descrizione dei prodotti (campo description_it-IT)... Un successo!!!

Semplice no? Questa operazione semplice e veloce vi consentirà di risparmiare un sacco di tempo (o almeno lo spero).

Vi auguro un buon replacement... laughing


Se hai gradito l'articolo, condividilo, basta un click!

Aggiungi commento


Codice di sicurezza
Aggiorna

  • logo prontopro
  • logo boutique serramento
  • koilab japan and tropical fish farm
  • Trasloco economico - gruppo Arco Traslochi
  • logo flash pulizie
  • logo revolution
  • logo planetkoi small
  • logo finiture
  • ick logo template
  • montaggio mobili trento

Realizzato da: Daniele Gagliardi
Viale Monache 3 - 38062 Arco - TN
- Contattami -

Per essere più facile ed intuitivo, il blog fa uso dei cookie, piccole porzioni di dati che consentono di capire come gli utenti navighino e ne visualizzino le pagine. I cookie non registrano alcuna informazione personale sull'utente ed eventuali dati identificabili non verranno memorizzati.