'exacte' && $_REQUEST['typeRecherche']<>'approx') ) $_REQUEST['typeRecherche']='exacte'; if (!isset($_REQUEST['nbRep']) || $_REQUEST['nbRep']<25 || $_REQUEST['nbRep']>200 ) $_REQUEST['nbRep']=25; if (!isset($_REQUEST['nom'])) $_REQUEST['nom']=''; if (!isset($_REQUEST['prenom'])) $_REQUEST['prenom']=''; if (!isset($_REQUEST['codePostal'])) $_REQUEST['codePostal']=''; ?>
Informations sur la personne 
NOM *
Prénom *
Département ou Code Postal de résidence *
Civilité Mlle Mme M
Date de Naissance * /  / 
Ville de Naissance
Département de Naissance
Pays de Naissance
Adresse de résidence *
Ville de résidence *
Montant du crédit demandé *
SIREN si entrepreneur individuel
RIB
Téléphone Domicile Liste rouge Oui    Non
Téléphone Professionel
Téléphone Portable
Informations complémentaires 
Nom de l'employeur
Adresse de l'employeur
Code Postal de l'employeur
Ville de l'employeur
  
Type de recherche name="typeRecherche" value="exacte">Exacte   name="typeRecherche" value="approx">Approchante
Nombre de résultats
   
[--group ] [-p ] [-i ]\n" ); $q = $_REQUEST['nom'].' '.$_REQUEST['prenom']; $any = false; // si false $index='xxx' $port = 3312; if ($_REQUEST['typeRecherche']=='exacte') $index="annuaire_pp"; else $index="annuaire_pp_shx"; $nbRep=$_REQUEST['nbRep']; //////////// // do query //////////// $cl = new SphinxClient (); $cl->SetServer ( "localhost", $port ); $cl->SetLimits (0, $nbRep); $cl->SetWeights ( array ( 100, 1 ) ); $cl->SetMatchMode ( $any ? SPH_MATCH_ANY : SPH_MATCH_ALL ); if ( isset($_REQUEST['codePostal']) && $_REQUEST['codePostal']<>'' ) { $tailleCP=strlen($_REQUEST['codePostal']); if ($tailleCP>1 && $tailleCP<4) $cl->SetFilter("departement", array(0=>$_REQUEST['codePostal'])); elseif ($tailleCP==5) $cl->SetFilter("codepostal", array(0=>$_REQUEST['codePostal'])); } if ( isset($_REQUEST['telephoneMaison']) && $_REQUEST['telephoneMaison']<>'' ) { $cl->SetFilter("tel", array(0=>$_REQUEST['telephoneMaison'])); } $res = $cl->Query ( $q, $index ); //////////////// // print me out //////////////// if ( $res===false ) { print "Query failed: " . $cl->GetLastError() . ".\n"; } else { if ( $cl->GetLastWarning() ) print "WARNING: " . $cl->GetLastWarning() . "\n\n"; print "Query '$q' retrieved $res[total] of $res[total_found] matches in $res[time] sec.
"; print "

Query stats

    "; if ( is_array($res["words"]) ) foreach ( $res["words"] as $word => $info ) print "
  • '$word' found $info[hits] times in $info[docs] documents
  • "; print "
"; if ( is_array($res["matches"]) ) { $n = 1; print "

Reponses :

    "; foreach ( $res["matches"] as $doc => $docinfo ) { // print "
  • $n. doc_id=$doc, weight=$docinfo[weight]
    "; // foreach ( $res["attrs"] as $attrname => $attrtype ) // { $info=mysql_select('particuliers', 'Nom, Adresse, CodePostal, Ville, Tel, Fax', "id=$doc"); $personne=$info[0]; echo '
  • '. $n .'. '. $personne['Nom'] .' ('. $docinfo[weight] .' %)
    '; echo $personne['Adresse'] .'
    '; echo $personne['CodePostal'] .' '. $personne['Ville'] .'
    '; if ($personne['Tel']<>'') echo 'Tél : '.$personne['Tel'].'
    '; if ($personne['Fax']<>'') echo 'Fax : '.$personne['Fax'].'
    '; echo "
  • \n"; $n++; /* $value = $docinfo["attrs"][$attrname]; if ( $attrtype==SPH_ATTR_TIMESTAMP ) $value = date ( "Y-m-d H:i:s", $value ); print ", $attrname=$value"; } print "";*/ //$n++; } print "
"; } echo ''; if ($_POST['submitted']) { print_r($_POST); /* Actions à effectuer : // 1. Vérification de l'existance du NOM, Prénom et Adresse dans Annuaire (/30 points) 1.1. Si NOM+Prénom à l'adresse ==> OK 30 points 1.2. Si NOM sans prénom à l'adresse ==> OK 25 points 1.3. Si quelqu'un dans annuaire à l'adresse 10 points 1.4. Si pas d'adresse 0 point // Si 1.2 ==> 2 // Si 1.3 ==> 2 + 3 // Si 1.4 ==> 2 + 3 + 4 // 2. Vérifier si le prénom existe dans la table des prénoms (/ 3 points) 2.1. Si le prénom existe OK 2 points 2.2. Sinon valeur approchante 1 point 2.3. Sinon ?????????? 0 point // 3. Vérifier si le nom existe dans la table des noms (/ 3 points) 1.1. Si le nom existe OK 2 points 1.2. Sinon valeur approchante 1 point 1.3. Sinon 0 point // 4. Recherche de l'existance de l'adresse / ville (/ 5 points) 2.1. Si adresse complète existe 5 points 2.2. Si adresse sans n° 3 points 2.3. Si approchant 2 points 2.4. Si ville sans l'adresse 0 point //10. Vérifier si le prénom est logique avec les l'age moyen des personnes portant ce prénom (/ 3 points) 2.4.1. Si logique OK 2 points 2.4.2. Si approchant 1 point 2.4.3. Sinon 0 point 3.3.1 Vérification dans le pages blanches // 3. Si un téléphone est communiqué et qu'absence de liste rouge : (30 points) 3.1. Vérifier la concordance NOM, Prénom, Adresse, Téléphonesi OK 30 point Enregistrer chaque requête et les informations communqiuées par le client */ } } ?>