SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

288 Plugins, 197 contribs sur SPIP-Zone, 146 visiteurs en ce moment

Accueil > Améliorations de l’espace privé > Champs extra > Transfert d’enregistrements d’une base vers les champs #Extra

Transfert d’enregistrements d’une base vers les champs #Extra

26 octobre 2004 – par ADB

0 vote

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Vous aviez une base non Spip. Vous avez créé des champs #Extra dans une base Spip. Mais comment transférer les enregistrements de l’une vers le champ Blob des champs #Extra de l’autre ?

Toujours pour ma base Guide Méditerranée, j’ai créé un certain nombre de champs #Extra (une bonne dizaine).

Le problème principal, c’est que les champs #Extra sont enregistrés dans un unique champ de type Blob, un type bien particulier qu’on ne peut pas « lire » directement avec phpmyadmin.

Un champ Blob est un champ de taille « illimitée », où les différents enregistrements sont inscrits à la suite les uns des autres : code-x:nom du champ ; code-y:enregistrement etc.

Comment faire, alors, pour passer les enregistrements que j’avais dans une base « normale » (1 champ = 1 enreg) à cette base Spip à champs #Extra (1 champ = n enreg) ?

Il faut sérialiser !!!

-  Vous pouvez reprendre le code ci-dessous et l’adapter pour créer un fichier de remplisage automatique d’une base à une autre.

Explications

On suppose que vous savez déjà comment vous connecter à la base de données. Mais voici un rappel (que vous pouvez intégrer en tête du ficher Enreg_A_Blob.php3 ci-dessous) :

$edserveur='xxxxx'; //serveur
$edlogin='cmonlogin'; //login
$edpass='cmonmotdepasse'; //mot de passe
$eddb='cmabase'; //base de donnée

//Connection a la base de donnée dans ce fichier afin de ne pas recreer d'autre connection dans les autres fichiers
$id_connex=mysql_connect("$edserveur" , "$edlogin" , "$edpass") or die("connexion impossible session");
mysql_select_db("$eddb",$id_connex);

Ensuite, il faut :

  • Point A) effectuer une requête sur la base de départ et y sélectionner les champs que nous allons placer dans le champ Blob unique de la base Spip des articles.
  • Point B) Transformer en variable le contenu de chaque champ
  • Point C) Créer un « tableau » de correspondance entre les champs #Extra existants et les variables qu’on va enregistrer dans le champ Blob qui les contient
  • Point D) Utiliser la commande php « miracle » qui transforme tout cela pour le champ Blob
  • Point E) Insérer tout cela dans la base Spip. A noter que les champs #extra sont enregistrés dans le champ nommé extra (!) des bases articles, auteurs et rubriques.

Et voilà !

Par prudence, faites un essai après avoir fait une copie de votre base Spip. Histoire de vérifier que tout colle bien.

Enreg_A_Blob.php3

Dernière modification de cette page le 26 octobre 2004

Retour en haut de la page

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Formidable, le générateur de formulaires

    23 janvier 2012 – 2292 commentaires

    Un générateur de formulaires facilement configurable pour les non-informaticiens et facilement extensible pour les développeurs. Introduction L’objectif était de créer un plugin permettant de générer des formulaires. Historiquement, 2 plugins (...)

  • Portage de SPIP en SQLite

    16 décembre 2007 – commentaires

    Après PostGreSQL c’est au tour de SQLite d’être porté par SPIP

  • Champs Extras 3

    16 janvier 2012 – 618 commentaires

    Ce plugin permet de créer et/ou de gérer des champs supplémentaires dans les objets éditoriaux de SPIP. Il permet donc de prendre en compte et d’afficher de nouveaux éléments dans n’importe quel objet éditorial de SPIP. Screencast Vous n’aimez pas (...)

  • Plugin Vidéo(s)

    23 novembre 2010 – 685 commentaires

    Interface de gestion et modèle d’insertion des vidéos : Dailymotion Vimeo Youtube Modèle de la balise HTML5 video avec alternative flash html5media : Lecture HTML5/Flash pour tout navigateur des fichiers MP4/H264/Ogg/WebM/Mkv Support mobile, iPad, (...)

  • Agenda 2.0

    3 novembre 2008 – 1113 commentaires

    Voici la version pour SPIP 2.0 du Plugin Agenda pour SPIP 1.9.2, avec une interface remaniée pour encore plus de plaisir. Pour une documentation concernant l’utilisation d’Agenda 3 pour SPIP 3, veuillez pour l’instant vous référer à SPIP 3, Agenda (...)