[SPIP Zone] TR: sql_showbase / regexp

Bonsoir,

Pour lister les tables de spip avec sql_showbase, facile, il suffit d’appeler : sql_showbase(NULL)

Qui est équivalent à : sql_showbase( « spip% ») et au final en sql : show tables like « spip% »

Mais !! pour voir toutes les tables autres que spip quel paramètre faut-il passer ?

Merci d’avance,

Christophe

Christophe Boutin a écrit :

Mais !! pour voir toutes les tables autres que spip quel paramètre faut-il
passer ?

par défaut, sql_showbase() liste les tables de préfixe 'spip'

pour lister *toutes* les tables tu peux appeler :
   sql_showbase('%')

pour ne lister que les autres (dont le préfixe n'est pas 'spip'),
il te faut connaitre le préfixe commun de ces autres tables :
   sql_showbase('perso')

si elles n'en ont pas, alors, récupérer la liste complète
et, en php, écarter celles de préfixe 'spip'

denisb a écrit :

si elles n'en ont pas, alors, récupérer la liste complète
et, en php, écarter celles de préfixe 'spip'

par exemple :

$ress = sql_showbase('%');
while ($tables_toutes = sql_fetch($ress)) {
   foreach ($tables_toutes as $key => $val) {
     if (!preg_match('#^spip_#', $val)) $tables_perso = $val;
     else $tables_spip = $val;
   }
}
var_dump($tables_perso,$tables_spip);

" si elles n'en ont pas, alors, récupérer la liste complète
et, en php, écarter celles de préfixe 'spip'"

Ok, j'ai déjà fait ainsi,
Mais j'espérais pouvoir trouver un raccourci avec les regexp.

Donc pas de simplification possible de ce côté.

Merci,

Christophe

-----Message d'origine-----
De : denisb [mailto:denisb@laposte.net]
Envoyé : mercredi 22 avril 2009 23:39
À : spip-zone@rezo.net
Objet : Re: [SPIP Zone] TR: sql_showbase / regexp

Christophe Boutin a écrit :

Mais !! pour voir toutes les tables autres que spip quel paramètre faut-il
passer ?

par défaut, sql_showbase() liste les tables de préfixe 'spip'

pour lister *toutes* les tables tu peux appeler :
   sql_showbase('%')

pour ne lister que les autres (dont le préfixe n'est pas 'spip'),
il te faut connaitre le préfixe commun de ces autres tables :
   sql_showbase('perso')

si elles n'en ont pas, alors, récupérer la liste complète
et, en php, écarter celles de préfixe 'spip'

_______________________________________________
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone