Multibases avec 3 SPIP

Salut,

J'ai trois spip sous easyphp et je voudrais bien faire des boucles inter spips.

J'ai donc mon SPIP principal dont la base s'appelle spip_nifnif, et deux autres bases spip_nafnaf et spip_noufnouf

Je voudrais faire des boucles dans mon site principal du style

<BOUCLE1(spip_nifnif:ARTICLES)>, comme expliqué ici :
http://www.spip-contrib.net/spikini/MultiBase

Mais je crois que je ne déclare pas comme il faut mon fichier ecrire/inc_connect-spip_nifnif.php3

Quelqu'un a de l'expérience de ce qu'il faut mettre dedans ? ca pose un probleme que le nom de mes bases soit préfixé par spip_ ?

voilà mon fichier ecrire/inc_connect-spip_nifnif.php3

<?php
if (defined("_ECRIRE_INC_CONNECT_NIFNIF")) return;
define("_ECRIRE_INC_CONNECT_NIFNIF", "1");

include_ecrire('inc_db_mysql.php3');
spip_connect_db('localhost','','root','','spip_nifnif');

function spip_spip_nifnif_fetch($res, $serveur) {

  return spip_fetch_array ($res, $serveur);

}

function spip_spip_nifnif_count($res, $serveur) {

  return spip_num_rows ($res, $serveur);

}

function spip_spip_nifnif_free($res, $serveur) {

  return spip_free_result ($res, $serveur);

}

?>

Merci.

BoOz

Bon, je progresse.

Je dois reprendre l'énnoncé car c'était imprécis dans mon premier message.

J'ai donc le spip principal avec une base spip_nifnif et les squelettes sous easy php.

J'ai ensuite deux bases spip en 1.8.2-d (spip_nafnaf et spip_noufnouf) sur le meme serveur "localhost".

Je veux ecrire dans mon squelette une boucle qui va chercher dans la base spip_nafnaf depuis le site qui tourne sur la base spip_nifnif.

<BOUCLE2(spip_nafnaf:MOTS){tout}>
#TITRE<br>
</BOUCLE2>

Je créé donc inc_connect-spip_nafnaf.php3 comme expliqué sur le wiki, et je l'ajoute dans ecrire/ de spip_nifnif (vous suivez toujours ?)

<?php
if (defined("_ECRIRE_INC_CONNECT_NAFNAF")) return;
define("_ECRIRE_INC_CONNECT_NAFNAF", "1");

@mysql_connect('localhost','','root','');

@mysql_select_db("spip_nafnaf");

function spip_spip_nafnaf_fetch($res, $serveur) {

  return spip_fetch_array ($res, $serveur);

}

function spip_spip_nafnaf_count($res, $serveur) {

  return spip_num_rows ($res, $serveur);

}

function spip_spip_nafnaf_free($res, $serveur) {

  return spip_free_result ($res, $serveur);

}

function spip_spip_nafnaf_select($select, $from, $where, $groupby, $orderby, $limit, $sousrequete, $cpt, $table, $id, $serveur) {

  return spip_mysql_select ($select, $from, $where, $groupby, $orderby, $limit, $sousrequete, $cpt, $table, $id, $serveur);

}

?>

Ensuite dans les squelettes du site de départ

Si j'ecris

<BOUCLE2(spip_nafnaf:MOTS){tout}>
#TITRE<br>
</BOUCLE2>

SPIP me répond "table SQL mots inconnue".

Si je mets

<BOUCLE2(spip_nafnaf:SPIP_MOTS){tout}>
#TITRE<br>
</BOUCLE2>

j'obtiens

# Erreur(s) dans le squelette

     * <BOUCLE2>(spip_mots)
       Erreur MySQL
       SELECT spip_mots. FROM spip_mots AS spip_mots
       Erreur de syntaxe pr�s de 'FROM `spip_nifnif`.spip_mots AS
`spip_nifnif`.spip_mots' � la ligne 2
       </BOUCLE2> AIDE,

Bref, c'est pas encore ca.

Quelqu'un voit le problème ?

BoOz

Bonne question. Moi aussi ai le meme probleme, j'ai fait le meme
choses decrit par Booz en executant les instructions contenue en
http://www.spip-contrib.net/spikini/MultiBase mai il seble ne
fonctionner pas.

J'utilise SPIP 1.8.2-e, il y a quelque bug or les instruction fournies
par Emmanuel se referrent a quelque version SPIP specifique?

2005/11/9, BoOz <booz@rezo.net>:

Bon, je progresse.

Je dois reprendre l'énnoncé car c'était imprécis dans mon premier message.

J'ai donc le spip principal avec une base spip_nifnif et les squelettes
sous easy php.

J'ai ensuite deux bases spip en 1.8.2-d (spip_nafnaf et spip_noufnouf)
sur le meme serveur "localhost".

Je veux ecrire dans mon squelette une boucle qui va chercher dans la
base spip_nafnaf depuis le site qui tourne sur la base spip_nifnif.

<BOUCLE2(spip_nafnaf:MOTS){tout}>
#TITRE<br>
</BOUCLE2>

Je créé donc inc_connect-spip_nafnaf.php3 comme expliqué sur le wiki, et
je l'ajoute dans ecrire/ de spip_nifnif (vous suivez toujours ?)

<?php
if (defined("_ECRIRE_INC_CONNECT_NAFNAF")) return;
define("_ECRIRE_INC_CONNECT_NAFNAF", "1");

@mysql_connect('localhost','','root','');

@mysql_select_db("spip_nafnaf");

function spip_spip_nafnaf_fetch($res, $serveur) {

  return spip_fetch_array ($res, $serveur);

}

function spip_spip_nafnaf_count($res, $serveur) {

  return spip_num_rows ($res, $serveur);

}

function spip_spip_nafnaf_free($res, $serveur) {

  return spip_free_result ($res, $serveur);

}

function spip_spip_nafnaf_select($select, $from, $where, $groupby,
$orderby, $limit, $sousrequete, $cpt, $table, $id, $serveur) {

  return spip_mysql_select ($select, $from, $where, $groupby, $orderby,
$limit, $sousrequete, $cpt, $table, $id, $serveur);

}

?>

Ensuite dans les squelettes du site de départ

Si j'ecris

<BOUCLE2(spip_nafnaf:MOTS){tout}>
#TITRE<br>
</BOUCLE2>

SPIP me répond "table SQL mots inconnue".

Si je mets

<BOUCLE2(spip_nafnaf:SPIP_MOTS){tout}>
#TITRE<br>
</BOUCLE2>

j'obtiens

# Erreur(s) dans le squelette

     * <BOUCLE2>(spip_mots)
       Erreur MySQL
       SELECT spip_mots. FROM spip_mots AS spip_mots
       Erreur de syntaxe pr�s de 'FROM `spip_nifnif`.spip_mots AS
`spip_nifnif`.spip_mots' � la ligne 2
       </BOUCLE2> AIDE,

Bref, c'est pas encore ca.

Quelqu'un voit le problème ?

BoOz

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.spip.net/
irc://irc.freenode.net/spip
FAQ : http://www.spip-contrib.net/spikini/FaQ