SPIP-Contrib

SPIP-Contrib

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

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

  • spiPDF : générer des contenus sur mesure en PDF

    16 février 2011 – 218 commentaires

    Le plugin spiPDF génère des fichiers au format PDF d’article ou de tout autre élément SPIP, simplement à partir d’un squelette construit au format HTML 4 et facile à modifier. Avertissement de sécurité Ce plugin a fait l’objet d’une faille de (...)

  • Le Couteau Suisse

    4 mai 2007 – 1811 commentaires

    Ce plugin propose d’introduire facilement de simples fonctionnalités supplémentaires à SPIP et qui s’avèrent rapidement indispensables ! Par exemple : le contrôle de nombreuses variables « cachées » de SPIP, des améliorations ou facilités typographiques, (...)

  • Mentions Légales

    11 juin 2010 – 68 commentaires

    Ce plugin vous propose un ensemble d’éléments pour faciliter la mise en place de Mentions Légales, Conditions d’Utilisation et informations de Copyright dans l’espace public d’un site sous SPIP. Il présente notamment des textes légaux pré-définis, (...)

  • Tablesorter pour SPIP

    6 juillet 2009 – 31 commentaires

    Avec tableSorter, le tri sera top ! [1]

  • Emplois

    5 septembre – commentaire

    Ce plugin propose deux objets éditoriaux : Offres d’emploi CVs Il est possible d’activer l’un et/ou l’autre selon vos besoins. Présentation générale Dépôt des offres d’emploi et/ou CVs depuis l’espace public Essentiellement, ce plugin permet (...)

Ça spipe par là