[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