SPIP-Contrib

SPIP-Contrib

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

288 Plugins, 197 contribs sur SPIP-Zone, 188 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

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

  • Import ICS 2 et supérieur (agenda distant)

    2 août 2016 – 52 commentaires

    La version 2 du plugin « import ICS » en reprend la principale fonctionnalité, à savoir l’ajout automatique d’évènements distants dans la liste des évènements d’un site. À la différence de la première version, elle ne dépend pas du plugin « Séminaire » et est (...)

  • Formidable, le générateur de formulaires

    23 janvier 2012 – 2180 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 (...)

  • Écrire la documentation d’un plugin SPIP

    25 février 2014 – commentaires

    Cet article explique en 4 étapes comment créer les liens de la documentation d’un plugin sur Contrib. Il s’adresse aussi aux administrateurs et administratrices de SPIP-contrib qui auraient des trous de mémoire ;) Prérequis : vous disposez d’un (...)

  • Formulaire de contact avancé

    23 mars 2009 – 1374 commentaires

    Un formulaire de contact configurable, avec de multiples options.

  • Plugin SpipCatChat

    31 janvier 2015 – 38 commentaires

    Étant donné que SPIP n’intègre pas d’origine de fonction de discussion instantanée et afin de pallier à ce manque je vous propose ce plugin. Il permet, dans l’espace public de votre site, d’ouvrir et d’administrer des salons de discussions (...)

Ça spipe par là