[fr]Indes [en]India dans le groupe pays (fr) // on veut aussi que les articles, rubriques et sites avec les mots-cles en anglais // s'actualisent aux mots-cles en francais. // Pour arriver au resultat, on doit créer une nouvelle table dans la db qui aura la relation // entre le mot cle en francais et le mot cle en anglais. // exemple: 50 : 340 // On cree la table avec la commande sql suivante: // CREATE TABLE `trad_mots` ( `fr` BIGINT NOT NULL , `en` BIGINT NOT NULL ) TYPE = MYISAM ; // On peuple la table avec la commande sql suivante: // INSERT INTO `trad_mots` ( `fr` , `en` ) VALUES ( '50', '340' ); // on place ce script n'importe ou on peut pointer son navigateur // http://mondomaine.org/monspip/cescript.php // fini le bla bla bla... // Connexion a mysql mysql_connect("localhost", "utilisateur", "motdepasse") or die(mysql_error()); mysql_select_db("votre db") or die(mysql_error()); // notre requete $query = "SELECT t1.fr, t1.en, m1.titre, m2.titre, m1.descriptif, m2.descriptif, m1.texte, m2.texte ". "FROM trad_mots AS t1, spip_mots AS m1, spip_mots AS m2 ". "WHERE t1.fr = m1.id_mot AND m2.id_mot = t1.en ;"; $result = mysql_query($query) or die(mysql_error()); // on va donner du output comme ca on peut voir se qui se passe. echo "
id | titre | desc | texte | requetes |
---|---|---|---|---|
"; echo $v1 ." - ". $v2; echo " | ";
//formatons avec la balise multi le titre
$multi_titre = " | ";
//formatons avec la balise multi le descriptif
$multi_desc = " | ";
//formatons avec la balise multi le texte
$multi_texte = " | ";
//on met a jour le titre qui a maintenant la balise multi
$m_titre = sprintf("UPDATE spip_mots SET titre='%s' WHERE id_mot='%d'",
mysql_real_escape_string($multi_titre),
$v1);
echo " "; echo $m_titre; mysql_query($m_titre) or die(mysql_error()); //on met a jour le descriptif qui a maintenant la balise multi $m_desc = sprintf("UPDATE spip_mots SET descriptif='%s' WHERE id_mot='%d'", mysql_real_escape_string($multi_desc), $v1); echo " "; echo $m_desc; mysql_query($m_desc) or die(mysql_error()); //on met a jour le descriptif qui a maintenant la balise multi $m_texte = sprintf("UPDATE spip_mots SET texte='%s' WHERE id_mot='%d'", mysql_real_escape_string($multi_texte), $v1); echo " "; echo $m_texte; mysql_query($m_texte) or die(mysql_error()); ////// // on passe les articles avec le mot-clé en anglais au mot-clé francais $art_mc = "UPDATE spip_mots_articles SET id_mot='". $v1 ."' WHERE id_mot='". $v2 ."';"; echo " "; echo $art_mc; mysql_query($art_mc) or die(mysql_error()); // on passe les rubriques avec le mot-clé en anglais au mot-clé francais $rub_mc = "UPDATE spip_mots_rubriques SET id_mot='". $v1 ."' WHERE id_mot='". $v2 ."';"; echo " "; echo $rub_mc; mysql_query($rub_mc) or die(mysql_error()); // on passe les sites avec le mot-clé en anglais au mot-clé francais $sit_mc = "UPDATE spip_mots_syndic SET id_mot='". $v1 ."' WHERE id_mot='". $v2 ."';"; echo " "; echo $sit_mc; mysql_query($sit_mc) or die(mysql_error()); // on supprime le mot-clé en anglais qui a été traduit $mort_mc = "DELETE FROM spip_mots WHERE id_mot='". $v2 ."';"; echo " "; echo $mort_mc; mysql_query($mort_mc) or die(mysql_error()); // on supprime la relation entre le mot-clé en fr et an dans la en anglais qui ont été traduit $mort_mc = "DELETE FROM trad_mots WHERE en='". $v2 ."';"; echo " "; echo $mort_mc; mysql_query($mort_mc) or die(mysql_error()); echo " |