Complèment du code pour la sauvegarde des dernières recherches

This commit is contained in:
Michael RICOIS 2009-09-02 08:38:18 +00:00
parent e884b8a8c7
commit fa16019b18
3 changed files with 74 additions and 43 deletions

View File

@ -1,53 +1,55 @@
<div id="center"> <div id="center">
<h1>Liste de vos dernières recherches</h1> <h1>Liste de vos dernières recherches</h1>
<style type="text/css">
.params a {float:right;}
</style>
<?php <?php
require_once 'recherche/session.php'; require_once 'recherche/session.php';
$nb_recherche = count($_SESSION['recherche']['list']); $nb_recherche = count($_SESSION['recherche']['list']);
if($nb_recherche==0){ if($nb_recherche==0){
?> ?>
Aucune recherche enregistré. Aucune recherche enregistrée.
<?php <?php
}else{ }else{
?> ?>
<ul> <ul>
<?php <?php
for($i=0;$i<$nb_recherche;$i++){ for($i=0;$i<$nb_recherche;$i++)
{
$parametres = recherche_element($i); $parametres = recherche_element($i);
$firephp->log($parametres, 'parametres');
?> ?>
<li> <li>
<?php <?php
if($parametres['type']=='ent'){ if($parametres['type']=='ent')
{
?> ?>
<p>RECHERCHE ENTREPRISE : </p> <p><u>RECHERCHE ENTREPRISE :</u></p>
<div class="params"> <div>
SIREN : <?php print $parametres['siret'];?><br/> <?php if($parametres['siret']!=''){ ?>SIREN : <b><?=$parametres['siret'];?></b>
RAISON SOCIALE : <?php print $parametres['raisonSociale'];?><br/> <?php if($parametres['raisonSociale']=='' && $parametres['info']['raisonSociale']!=''){ print '&nbsp;('.$parametres['info']['raisonSociale'].')'; } ?>
& VOIE : <?php print $parametres['numVoie'];?><br/> <br/><?php } ?>
CP OU DÉP. / VILLE :<?php print $parametres['cpVille'];?><br/> <?php if($parametres['raisonSociale']!=''){ ?>RAISON SOCIALE : <b><?=$parametres['raisonSociale'];?></b><br/><?php } ?>
TÉL / FAX : <?php print $parametres['telFax'];?><br/> <?php if($parametres['numVoie']!=''){ ?>N° & VOIE : <b><?=$parametres['numVoie'];?></b><br/><?php } ?>
NAF : <?php print $parametres['naf'];?><br/> <?php if($parametres['cpVille']!=''){ ?>CP OU DÉP. / VILLE : <b><?=$parametres['cpVille'];?></b><br/><?php } ?>
<a href="./?page=recherche&action=rechercher&vue=list<?php print $parametres['link'];?>"> >>> Recherche</a> <?php if($parametres['telFax']!=''){ ?>TÉL / FAX : <b><?=$parametres['telFax'];?></b><br/><?php } ?>
</div> <?php if($parametres['naf']!=''){ ?>NAF : <b><?=$parametres['naf'];?></b><br/><?php } ?>
<?php <?php
} }
elseif($parametres['type']=='dir') elseif($parametres['type']=='dir')
{ {
?> ?>
<p>RECHERCHE DIRIGEANT : </p> <p><u>RECHERCHE DIRIGEANT :</u></p>
<div class="params"> <div>
NOM : <?php print $parametres['dirNom'];?><br/> <?php if($parametres['dirNom']!=''){ ?>NOM : <b><?=$parametres['dirNom'];?></b><br/><?php } ?>
PRENOM : <?php print $parametres['dirPrenom'];?><br/> <?php if($parametres['dirPrenom']!=''){ ?>PRENOM : <b><?=$parametres['dirPrenom'];?></b><br/><?php } ?>
DATE DE NAISSANCE : <?php print $parametres['dirDateNaissJJ'].'/'.$parametres['dirDateNaissMM'].'/'.$parametres['dirDateNaissAAAA'];?><br/> <?php if($parametres['dirDateNaissJJ']!=''){ ?>DATE DE NAISSANCE : <b><?=$parametres['dirDateNaissJJ'].'/'.$parametres['dirDateNaissMM'].'/'.$parametres['dirDateNaissAAAA'];?></b><br/><?php } ?>
CP OU DÉP. / VILLE DE NAISSANCE : <?php print $parametres['dirCpVille'];?><br/> <?php if($parametres['dirCpVille']!=''){ ?>CP OU DÉP. / VILLE DE NAISSANCE : <b><?=$parametres['dirCpVille'];?></b><br/><?php } ?>
<a href="./?page=recherche&action=rechercher&vue=list<?php print $parametres['link'];?>"> >>> Recherche</a>
</div>
<?php <?php
} }
?> ?>
<a href="./?page=recherche&action=rechercher&vue=list<?=$parametres['link'];?>">Lancer la recherche</a>
<br/>
<a href="./?page=recherche&action=rechercher&vue=<?=$parametres['type']?><?=$parametres['link'];?>">Afficher le formulaire</a>
</div>
</li> </li>
<?php <?php
} }

View File

@ -170,8 +170,15 @@ if ($O['results']['nbReponses']==0)
else { else {
$etabs = $O['results']['reponses']; $etabs = $O['results']['reponses'];
$firephp->log($etabs, 'etabs'); $firephp->log($etabs, 'etabs');
echo '<p class="StyleInfoLib">';
//Enregistrement de la première raison sociale trouvé si la recherche n'a été faite que sur un siren
if ($typeRech=='ent' && $siret!='' && $raisonSociale=='')
{
$firephp->info('Informations suplémentaires');
recherche_saveinfo( array('raisonSociale' => $etabs[0]['Nom']) );
}
echo '<p class="StyleInfoLib">';
if ($O['results']['nbReponses']<$O['results']['nbReponsesTotal']) { if ($O['results']['nbReponses']<$O['results']['nbReponsesTotal']) {
$totPage=ceil($O['results']['nbReponsesTotal']/$tabInfo['nbReponses']); $totPage=ceil($O['results']['nbReponsesTotal']/$tabInfo['nbReponses']);
$curPage=ceil($position/$tabInfo['nbReponses'])+1; $curPage=ceil($position/$tabInfo['nbReponses'])+1;
@ -180,7 +187,6 @@ else {
$totPage=$curPage=1; $totPage=$curPage=1;
echo $O['results']['nbReponsesTotal'].' r&eacute;ponses avec les crit&egrave;res "'. $strCriteres .'".'; echo $O['results']['nbReponsesTotal'].' r&eacute;ponses avec les crit&egrave;res "'. $strCriteres .'".';
} }
echo '</p>'; echo '</p>';
echo '<ol>'; echo '<ol>';
foreach ($etabs as $i => $etab) foreach ($etabs as $i => $etab)

View File

@ -4,41 +4,61 @@ define('RECHERCHE_MAX', 10);
/* /*
<?php include_once 'recherche/recherche_feed.php';?> <?php include_once 'recherche/recherche_feed.php';?>
<?php if ( count($_SESSION['recherche']['list'])>1 && $_SESSION['tabInfo']['idClient']==1){?><img src="./img/recherche_feed.png" id="recherche_feed"/><?php }?> <?php if ( count($_SESSION['recherche']['list'])>1 && $_SESSION['tabInfo']['idClient']==1){?><img src="./img/recherche_feed.png" id="recherche_feed"/><?php }?>
Enregistrer les paramètres de recherche
Empile dans le tableau des recherches sauvegardées
Les sauvegardes sont enregistrés les unes à la suite des autres
donc la dernière recherche est à la position taille du tableau-1
Limiter la taille du tableau à 10 maximum donc dépiler
le premier élément si la taille du tableau est supérieur à 10
$_SESSION['recherche']['list_pre']
$_SESSION['recherche']['list']
*/ */
/**
* Sauvegarde des informations de la recherche saisie dans le formulaire
* @param array $form
* @return void
*/
function recherche_save($form) function recherche_save($form)
{ {
$recherche_list = array(); $recherche_list = array();
$recherche_info = array();
if( isset($_SESSION['recherche']['list']) ) $recherche_list = $_SESSION['recherche']['list']; if( isset($_SESSION['recherche']['list']) ) $recherche_list = $_SESSION['recherche']['list'];
if( isset($_SESSION['recherche']['info']) ) $recherche_info = $_SESSION['recherche']['info'];
//Assignation données formulaire
$recherche_list[] = serialize($form); $recherche_list[] = serialize($form);
$recherche_info[] = '';
//On supprime la première recherche soit la plus ancienne si le tableau à un taille supérieure au maximum //On supprime la première recherche soit la plus ancienne si le tableau à un taille supérieure au maximum
if(count($recherche_list)>RECHERCHE_MAX) $item_shift = array_shift($recherche_list); if(count($recherche_list)>RECHERCHE_MAX) $item_shift = array_shift($recherche_list);
if(count($recherche_info)>RECHERCHE_MAX) $item_shift = array_shift($recherche_info);
//Assignation des données dans la session
$_SESSION['recherche']['list'] = $recherche_list; $_SESSION['recherche']['list'] = $recherche_list;
$_SESSION['recherche']['info'] = $recherche_info;
} }
/**
* Sauvegarde une information supplémentaire concernant la recherche (raisonSociale)
* @param array $info
* @param int $index
* @return void
*/
function recherche_saveinfo($info, $index = 0)
{
global $firephp;
$recherche_info = array();
if( isset($_SESSION['recherche']['info']) ) $recherche_info = $_SESSION['recherche']['info'];
$rindex = count($recherche_info)-1-$index;
$recherche_info[$rindex][key($info)] = $info[key($info)];
$firephp->log($recherche_info, 'SAVE : recherche_info');
$_SESSION['recherche']['info'] = $recherche_info;
}
/**
* Affiche les éléments des recherches sauvegardées
* @param int $index
* @return array ou boolean
*/
function recherche_element($index) function recherche_element($index)
{ {
global $firephp; global $firephp;
$recherche_list = array(); $recherche_list = array();
$recherche_info = array();
if( isset($_SESSION['recherche']['list']) ) $recherche_list = $_SESSION['recherche']['list']; if( isset($_SESSION['recherche']['list']) ) $recherche_list = $_SESSION['recherche']['list'];
if( isset($_SESSION['recherche']['info']) ) $recherche_info = $_SESSION['recherche']['info'];
$rindex = count($recherche_list)-1-$index; $rindex = count($recherche_list)-1-$index;
$firephp->log(array_key_exists($rindex, $recherche_list), 'key_exist');
$firephp->log(isset($recherche_list[$rindex]), 'isset');
if( array_key_exists($rindex, $recherche_list) && isset($recherche_list[$rindex]) ){ if( array_key_exists($rindex, $recherche_list) && isset($recherche_list[$rindex]) ){
$returntab = unserialize($recherche_list[$rindex]); $returntab = unserialize($recherche_list[$rindex]);
$link = ''; $link = '';
@ -47,6 +67,9 @@ function recherche_element($index)
$link.= '&formR['.$key.']='.$val; $link.= '&formR['.$key.']='.$val;
} }
$returntab['link'] = $link; $returntab['link'] = $link;
if(isset($recherche_info[$rindex])) $returntab['info'] = $recherche_info[$rindex];
$firephp->log($rindex, 'rindex');
$firephp->log($returntab, 'returntab');
return $returntab; return $returntab;
} }
else else