[pmwiki-users-fr] recherche "à facettes" suite

Patrice PELLE patrice-pelle at bbox.fr
Sam 9 Jan 05:12:01 CST 2016


Bonjour


j’ai continué à travailler sur mon projet de recherche multicritères

J’ai créé le formulaire suivant sur la page « Poissons.Poissons »

	(:fox formulaire  ptvupdate=0 template=CherchePoisson#display  ptvclear=1:)
	!!Caractéristiques
	||'''Lieu : '''||(:input select name=$:lieu value="*" label="*":)
	(:input select name=$:lieu value="Atlantique" label="Atlantique":)
	(:input select name=$:lieu value="Méditerranée" label="Méditerranée":)
	(:input select name=$:lieu value="Indo-Pacifique" label="Indo-Pacifique":)||
	||'''Forme :'''||(:input select name=$:forme value="*" label="*":)
	(:input select name=$:forme value="Corps fuselé" label="Corps fuselé":)
	(:input select name=$:forme value="Corps comprimé latéralement" label="Corps comprimé latéralement":)
	(:input select name=$:forme value="Corps allongé" label="Corps allongé":)
	(:input select name=$:forme value="Corps en forme de gourdin" label="Corps en forme de gourdin":)
	(:input select name=$:forme value="Corps robuste/Ovale" label="Corps robuste/ovale":)
	(:input select name=$:forme value="Corps plat" label="Corps plat":)||
	||'''Taille :'''||(:input select name=taille value="*" label="*":)
	(:input select name=$:taille value="*" label="*":)
	(:input select name=$:taille value="Inférieure 10cm" label="Inférieure 10cm":)
	(:input select name=$:taille value="10-20cm" label="10-20cm":)
	(:input select name=$:taille value="20-30cm" label="20-30cm":)
	(:input select name=$:taille value="30-40cm" label="30-40cm":)
	(:input select name=$:taille value="40-50cm" label="40-50cm":)
	(:input select name=$:taille value="50-60cm" label="50-60cm":)
	(:input select name=$:taille value="60-70cm" label="60-70cm":)
	(:input select name=$:taille value="70-80cm" label="60-80cm":)
	(:input select name=$:taille value="80-90cm" label="80-90cm":)
	(:input select name=$:taille value="90-100cm" label="90-100cm":)
	(:input select name=$:taille value="Supérieure 1m" label="Supérieure 1m":)

	(:input submit post Enter:)

	(:foxend formulaire:)

qui renvoie à la page « Poissons.CherchePoisson » contenant les instructions suivantes 

	(:nogroupheader:)

	[[#display]]
	(:pagelist taille={$$taille} lieu={$$lieu}:)

	[[#displayend]]

Lorsque j’effectue la première recherche « Lieu=* » « Forme=* » « Taille Inférieur 10cm » j’obtiens un résultat qui correspond bien à mon attente, mais les résultats des recherches suivantes sont ensuite empilés les uns après les autres, ce que confirme le contenu de la page Poissons.Poissons (2ème recherche) :

(:fox formulaire  ptvupdate=0 template=CherchePoisson#display  ptvclear=1:)
	!!Caractéristiques
	||'''Lieu : '''||(:input select name=$:lieu value="*" label="*":)
	(:input select name=$:lieu value="Atlantique" label="Atlantique":)
	(:input select name=$:lieu value="Méditerranée" label="Méditerranée":)
	(:input select name=$:lieu value="Indo-Pacifique" label="Indo-Pacifique":)||
	||'''Forme :'''||(:input select name=$:forme value="*" label="*":)
	(:input select name=$:forme value="Corps fuselé" label="Corps fuselé":)
	(:input select name=$:forme value="Corps comprimé latéralement" label="Corps comprimé latéralement":)
	(:input select name=$:forme value="Corps allongé" label="Corps allongé":)
	(:input select name=$:forme value="Corps en forme de gourdin" label="Corps en forme de gourdin":)
	(:input select name=$:forme value="Corps robuste/Ovale" label="Corps robuste/ovale":)
	(:input select name=$:forme value="Corps plat" label="Corps plat":)||
	||'''Taille :'''||(:input select name=taille value="*" label="*":)
	(:input select name=$:taille value="*" label="*":)
	(:input select name=$:taille value="Inférieure 10cm" label="Inférieure 10cm":)
	(:input select name=$:taille value="10-20cm" label="10-20cm":)
	(:input select name=$:taille value="20-30cm" label="20-30cm":)
	(:input select name=$:taille value="30-40cm" label="30-40cm":)
	(:input select name=$:taille value="40-50cm" label="40-50cm":)
	(:input select name=$:taille value="50-60cm" label="50-60cm":)
	(:input select name=$:taille value="60-70cm" label="60-70cm":)
	(:input select name=$:taille value="70-80cm" label="60-80cm":)
	(:input select name=$:taille value="80-90cm" label="80-90cm":)
	(:input select name=$:taille value="90-100cm" label="90-100cm":)
	(:input select name=$:taille value="Supérieure 1m" label="Supérieure 1m":)

	(:input submit post Enter:)

	(:foxend formulaire:)
	(:pagelist taille=Inférieure 10cm lieu=*:)
	(:pagelist taille=Supérieure 1m lieu=*:)

Je tente donc une autre approche, en utilisant les recettes sqlite, dataquery, dataplates et ZAP. Je repars de zéro, à partir d’un nouvelle instance de pmwiki (dernière version : 2.2.83) MAMP version  3.4 pour MAC OSX (PHP 5.6.1). J’ai crée le dossier config.php suivant :

<?php if (!defined('PmWiki')) exit();
$WikiTitle = "Essai";


# Uncomment these if needed
## Use "Clean URLs".
$EnablePathInfo = 1;
$ScriptUrl = "http://localhost:8888/pmwiki/pmwiki.php";
#$ScriptUrl = 'http://example.com/pmwiki/pmwiki.php';
#$PubDirUrl = 'http://example.com/pmwiki/pub';

$DefaultPasswords['admin'] = pmcrypt('root');

$EnableUpload = 1;
$DefaultPasswords['upload'] = pmcrypt('root');



///////////////////////////////////////////

## Unicode (UTF-8) allows the display of all languages and all alphabets.
include_once("scripts/xlpage-utf-8.php");
//include_once("scripts/xlpage-iso-8859-2.php");



 ##---------------Francisation ------------------------------------
//XLPage('fr','PmWikiFr.XLPage'); // Les chaînes de PmWiki
//XLPage('fr','PmWikiFr.XLPageCookbook'); // Les chaînes de PmWiki

///////////////////////////////////////////

##---Création de sous-dossiers XML--##
$EnablePageStoreXML = 1;
include_once('cookbook/XMLPageStore.php');

//$WikiDir = new XMLPageStore('$FarmD/wiki.d/{$Group}/{$FullName}');

##---Sqlite---##
include_once("$FarmD/cookbook/sqlite.php");
$WikiDir = new PageStoreSQLite($WorkDir.'/pmwiki.sqlite.db', 1);
$WikiLibDirs = array(
  &$WikiDir,
  new PageStore('wiki.d/{$FullName}'),
  new XMLPageStore('$FarmD/wiki.d/{$Group}/{$FullName}'),
  new PageStore('$FarmD/wikilib.d/{$FullName}')
);


## formulaires ZAP et databases##
$Databases['$FarmD/wiki.d/pmwiki.sqlite.db'] =  array(
  'driver' => 'sqlite',
  'hostname' => 'localhost',
  'database' => '$FarmD/wiki.d/pmwiki.sqlite.db'
  'username' => 'admin',
  'password' => 'root');

$DQglobals['scriptfile'] = "$PubDirUrl/dFilter.js";
include "$FarmD/cookbook/dataquery.php";
include "$FarmD/cookbook/dataplates.php";
include "$FarmD/cookbook/zap.php";
include "$FarmD/cookbook/zaptoolbox.php »;

Je n’obtiens qu’une page blanche.

A noter que j‘ai essayé plusieurs instanciations des variables du tableau $Databases :
	$Databases['$FarmD/wiki.d/pmwiki.sqlite.db’] ou pmwiki, ou pmwikir.sqlite ou pmwikir.sqlite.db
 	hostname : localhost, localhost:8888, localhost:8888/pmwiki, localhost:8888/pmwiki/pmwiki.php
	database : cf première ligne
	username et password : avec ou sans

Je souhaiterai bien un peu d’aide

Merci beaucoup et meilleurs vœux


Patrice PELLE
patrice-pelle at bbox.fr


-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://www.pmichaud.com/pipermail/pmwiki-users-fr/attachments/20160109/e82c3a32/attachment.html>


Plus d'informations sur la liste de diffusion pmwiki-users-fr