begin process at 2012 05 30 16:38:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

moteur de recherche multicritere


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

moteur de recherche multicritere

jeudi 12 août 2010 à 11:53:40 | moteur de recherche multicritere

armelkoudou


bonjour à tous
j'ai un moteur de recherche par le quel je voudrai selectionner les criteres par liste deroulante afin d'affcher les resultats par secteur d'activité , pays et ville .
actuellement je n'arrive qu' à faire les recherche avec un seul critere , le secteur d'activité.

VOICI LE CODE DE LA PAGE QUI AFFICHE LE repertoire ET QUI CONDUIT A LA DEUXIEME PAGE REPERTOIR_TRI

pour mieux voire pous pouvez allez sur ce lien http://www.afriworks.net/repertoire.html
NB : la recherche par pays ne fonctionne pas

Si quelqu'un peu bien me porter secour.... merci d'avance.

<body>
<table width="100" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><img src="images/repertoire_t.jpg" width="507" height="50" /></td>
</tr>
</table>
<form id="form1" name="form1" method="post" action="default.php?page=recherche">
<table width="460" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="158" height="42">RECHERCHE RAPIDE </td>
<td width="302"><input name="mot" type="text" id="mot" />
<input type="submit" name="Submit" value="Envoyer" />
</td>
</tr>
</table>
<div align="center"><span class="Style2">Exp.: Afriworks </span>
</div>
</form>
<form id="form1" name="form1" method="post" action="default.php?page=repertoire_tri">
<table width="595" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="285" background="fondr.jpg"><table width="273" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="298"><span class="Style16 Style11">
<div align="center">Recherches par secteur d'activit&eacute;:</div>
<br />
</span>

<span class="Style16 Style11">
<select name="secteur" id="secteur">
<?php do { ?>
<option value="<?php echo $row_requette4['secteur']; ?>"><?php echo $row_requette4['secteur']; ?> <?php

// Print out result
//while($row = mysql_fetch_array($result)){
//echo "". $row['COUNT(secteur)'] ."";
//echo "<br />";
//}
?> </option>
<?php } while ($row_requette4 = mysql_fetch_assoc($requette4)); ?>
</select>
<br />
<br />
</span>
</td>
</tr>
</table></td>
<td width="25">&nbsp;</td>
<td width="285" background="fondr.jpg"><table width="275" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="275"><span class="Style16 Style11">
<div align="center">Recherches par Pays </div>
<br />
</span>

<span class="Style16 Style11">
<select name="select" id="select">
<?php do { ?>
<option value="<?php echo $row_requette_4['pays']; ?>"><?php echo $row_requette_4['pays']; ?></option>
<?php } while ($row_requette_4 = mysql_fetch_assoc($requette_4)); ?>
</select>
<input type="submit" name="Submit2" value="Trouver" />
<br />
<br />
</span>
</td>
</tr>
</table></td>
</tr>
</table>
</form>
<strong></strong>

<br />
<?php do { ?>
<table width="542" border="0" align="center" cellpadding="0" cellspacing="0">
<!-- fwtable fwsrc="Sans titre" fwbase="repert.jpg" fwstyle="Dreamweaver" fwdocid = "1764264203" fwnested="0" -->
<tr>
<td><img src="images/spacer.gif" width="13" height="1" border="0" alt="" /></td>
<td><img src="images/spacer.gif" width="513" height="1" border="0" alt="" /></td>
<td><img src="images/spacer.gif" width="16" height="1" border="0" alt="" /></td>
<td><img src="images/spacer.gif" width="1" height="1" border="0" alt="" /></td>
</tr>
<tr>
<td colspan="2"><img name="repert_r1_c1" src="images/repert_r1_c1.jpg" width="526" height="14" border="0" id="repert_r1_c1" alt="" /></td>
<td rowspan="3"><img name="repert_r1_c3" src="images/repert_r1_c3.jpg" width="16" height="150" border="0" id="repert_r1_c3" alt="" /></td>
<td><img src="images/spacer.gif" width="1" height="14" border="0" alt="" /></td>
</tr>
<tr>
<td rowspan="2"><img name="repert_r2_c1" src="images/repert_r2_c1.jpg" width="13" height="136" border="0" id="repert_r2_c1" alt="" /></td>
<td valign="top" bgcolor="#ffffff"><table width="447" height="101" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#86D1F1">
<tr>
<td width="26%" height="101"><?php
$img = $row_repertoire['image'];
if ($img == "") // le prenom est vide
echo '<img src="images/default.jpg">';
else // le prenom est pas vide
echo '<img src="upload/'.$img .'" width="112" height="100" >';
?></td>
<td width="74%" class="Style12"><strong><? echo $row_repertoire['entreprise']; ?></strong><br />
<? echo $row_repertoire['secteur']; ?><br />
<? echo $row_repertoire['pays']; ?><br />
<? echo $row_repertoire['telephone']; ?><br />
<table width="100" border="0" align="right" cellpadding="0" cellspacing="0">
<tr>
<td><a href="default.php?page=voir_pme_pmi&amp;ID=<? echo $row_repertoire['ID']; ?>.html"><img src="images/ensavoir.jpg" width="108" height="25" border="0" /></a></td>
</tr>
</table></td>
</tr>
</table> <p style="margin:0px"></p></td>
<td><img src="images/spacer.gif" width="1" height="119" border="0" alt="" /></td>
</tr>
<tr>
<td><img name="repert_r3_c2" src="images/repert_r3_c2.jpg" width="513" height="17" border="0" id="repert_r3_c2" alt="" /></td>
<td><img src="images/spacer.gif" width="1" height="17" border="0" alt="" /></td>
</tr>
</table>
<div align="center">
<? }while($row_repertoire = mysql_fetch_assoc($repertoire)); ?>
<br />
<br />
Parcourez les pages:
<?php // ICI LE CODE A INSERER en l'adaptant au nom de votre jeu d'enregsitrement !
$last=$totalPages_repertoire+1;
$current=$pageNum_repertoire+1;
for ($i = 1; $i <= $last; $i++) {
if($current==$i){
echo "<strong> ". $i . "</strong> | ";
} else { ?>
<a href="<?php printf("%s?pageNum_repertoire=%d%s", $currentPage, min($totalPages_repertoire, $i-1), $queryString_repertoire); ?>"><?php echo $i;?></a><?php echo " | "; ?>
<?php
}
}
?>
</div>
<br />
<br />
</body>



VOICI LES RESULTATS DE LA PAGE REPERTOIRE8 TRI



<body>
<div align="center">
<table width="100" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><img src="images/repertoire_t.jpg" width="507" height="50" /></td>
</tr>
</table>
<br />
<font size="3">
<?php
require ("acces.php");
$link = mysql_connect($host, $user,$pass) or die(mysql_error());// On lance la connection &agrave; MySQL
mysql_select_db($db, $link);
$requet ="SELECT * FROM afriwork09 WHERE secteur='$_REQUEST[secteur]' ";//selectionne la table


$totalID=mysql_num_rows(mysql_query($requet));//On r&eacute;cup&egrave;re le nombre total d'entr&eacute;e dans la base
// puis on divise le nombre totale par le nombre de liens que l'on veux afficher en simultan&eacute; pour obtenir le nombre de pages
$nbpages=ceil($totalID/3);//4 indique 4 liens

if(isset($_GET["pg"]))
{
$pg=$_REQUEST["pg"];
}
else
{
$pg=1;
}

$debut=($pg*3)-3;

$requet.=" ORDER BY ID DESC LIMIT $debut, 10";
// on fini alors la requete par un point "." apr&egrave;s la variable $requet qui nous permet donc d'ajouter la limitation par 2 liens en simultan&eacute;.

$result= mysql_query($requet);

$nb=mysql_num_rows($result);


//ici on d&eacute;fini au d&eacute;part des variables null par "" pour &eacute;viter des erreurs de Notice.
$menu="";
$precedent="";
$suivant="";
$pgcourante="";
//pour d&eacute;finir la pagination on doit d'abord savoir la page o&ugrave; l'on se trouve
if(isset($_GET["pg"])){//isset d&eacute;termine si la variable "pg" est affect&eacute;e et renvoie la valeur true ou false (oui ou non).
$pgcourante=$_GET["pg"];// si oui elle affiche la bonne page
} else {// si c'est non ?
$pgcourante=1;// la page courrante est 1 donc la premi&egrave;re page du site.
}
/*on peut alors r&eacute;aliser un boucle avec "For" permettant d'afficher les liens pr&eacute;c&eacute;dent, suivant et les nombres de pages
suivant o&ugrave; l'on se trouve dans le site*/
if( $nbpages>=3) {$nume=$pgcourante+2;}
else {$nume=$nbpages;}
$fin=$pgcourante;
for($i=$fin;$i<=$nume;$i++){
if($i==$pgcourante){
$menu.=$i . "&nbsp;|&nbsp;";
if($i-1!=0){
$precedent="<a href=\"default.php?page=repertoire_tri&$_REQUEST[secteur]&pg=" . ($i-1) . "\">" . " Prev" . "</a>&nbsp;|&nbsp;";
$pg=$i;/*determine le numero de page qui permettra de retouver la page correspondante
a l'article pour la liens detail dans le panier*/
}
if($i<$nume) {
$suivant="<a href=\"default.php?page=repertoire_tri&secteur=$_REQUEST[secteur]&pg=" . ($i+1) . "\">" . "Next " . "</a>";
$pg=$i;/*determine le numero de page qui permettra de retouver la page correspondante
a l'article pour la liens detail dans le panier*/
}
}else{


$menu.="<a href=\"default.php?page=repertoire_tri&secteur=$_REQUEST[secteur]&pg=" . $i . "\">" . $i ."</a>&nbsp;|&nbsp;";

}
}
$menu=$precedent . $menu . $suivant;
//$toto = strlen($menu);
//$menu = substr_replace($menu,"...",$toto/2,$toto);



for($up=1;$up<=$nb;$up++){//affiche tous les articles du champ
$news=mysql_fetch_assoc($result);//envoi le resultat dans un variable $news que nous utiliserons pour afficher les donn&eacute;e

?>
</font> </div>
<table width="542" border="0" align="center" cellpadding="0" cellspacing="0">
<!-- fwtable fwsrc="Sans titre" fwbase="repert.jpg" fwstyle="Dreamweaver" fwdocid = "1764264203" fwnested="0" -->
<tr>
<td><img src="images/spacer.gif" width="13" height="1" border="0" alt="" /></td>
<td><img src="images/spacer.gif" width="513" height="1" border="0" alt="" /></td>
<td><img src="images/spacer.gif" width="16" height="1" border="0" alt="" /></td>
<td><img src="images/spacer.gif" width="1" height="1" border="0" alt="" /></td>
</tr>
<tr>
<td colspan="2"><img name="repert_r1_c1" src="images/repert_r1_c1.jpg" width="526" height="14" border="0" id="repert_r1_c1" alt="" /></td>
<td rowspan="3"><img name="repert_r1_c3" src="images/repert_r1_c3.jpg" width="16" height="150" border="0" id="repert_r1_c3" alt="" /></td>
<td><img src="images/spacer.gif" width="1" height="14" border="0" alt="" /></td>
</tr>
<tr>
<td rowspan="2"><img name="repert_r2_c1" src="images/repert_r2_c1.jpg" width="13" height="136" border="0" id="repert_r2_c1" alt="" /></td>
<td valign="top" bgcolor="#ffffff"><table width="447" height="101" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#86D1F1">
<tr>
<td width="26%" height="101"><?php
$img = $news['image'];
if ($img == "") // le prenom est vide
echo '<img src="images/default.jpg">';
else // le prenom est pas vide
echo '<img src="upload/'.$img .'" width="112" height="100" >';
?></td>
<td width="74%" valign="top" class="Style5"><font color="#993399"><strong><font size="3" face="Arial, Helvetica, sans-serif" color="red"><?php echo $news['entreprise']; ?></font></strong></font><br />
<?php echo $news['secteur']; ?><br />
<?php echo $news['pays']; ?><br />
<?php echo $news['commune']; ?><br />
<table width="100" border="0" align="right" cellpadding="0" cellspacing="0">
<tr>
<td><a href="default.php?page=voir_pme_pmi&amp;ID=<?php echo $news['ID']; ?>.html"><img src="images/ensavoir.jpg" width="108" height="25" border="0" /></a></td>
</tr>
</table></td>
</tr>
</table>
<p style="margin:0px"></p></td>
<td><img src="images/spacer.gif" width="1" height="119" border="0" alt="" /></td>
</tr>
<tr>
<td><img name="repert_r3_c2" src="images/repert_r3_c2.jpg" width="513" height="17" border="0" id="repert_r3_c2" alt="" /></td>
<td><img src="images/spacer.gif" width="1" height="17" border="0" alt="" /></td>
</tr>
</table>
<div align="center">
<?php ; } ?>
<br />
<br />
<strong><?php echo $totalID; ?> Infos | Browse all </strong><br />
<br />
<font size="2"><?php echo $menu; ?> </font></div>
</body>
</html>

jeudi 12 août 2010 à 12:19:28 | Re : moteur de recherche multicritere

RaftY


Bonjour,


Je vais juste répondre normal.

$requet ="SELECT * FROM afriwork09 WHERE secteur='$_REQUEST[secteur]' ";//selectionne la table


$totalID=mysql_num_rows(mysql_query($requet));//On r&eacute;cup&egrave;re le nombre total d'entr&eacute;e dans la base
// puis on divise le nombre totale par le nombre de liens que l'on veux afficher en simultan&eacute; pour obtenir le nombre de pages
$nbpages=ceil($totalID/3);//4 indique 4 liens

if(isset($_GET["pg"]))
{
$pg=$_REQUEST["pg"];
}
else
{
$pg=1;
}

$debut=($pg*3)-3;

$requet.=" ORDER BY ID DESC LIMIT $debut, 10";


Dans ta requete SQL tu n'as qu'une seule clause dans le WHERE qui concerne le secteur. Si tu ajoute d'autre filtres, le problème devrait ce résoudre.

Par contre sis tu as plusieurs paramètre hésite pas à construire par concaténation, en fonction de la disponibilité des paramètres dans le flux POST ($_REQUEST selon ton code)
______oOOO________OOOo________

RaftY, du code C commode!


Cette discussion est classée dans : menu, page, recherche, moteur, else


Répondre à ce message

Sujets en rapport avec ce message

Problème de moteur de recherche !! [ par nikita2000 ] Salut tout le monde !J'ai un soucis pour une recherche multicritère que je voudrais faire.Voila, j'ai fais les 2 menus déroulants (avec les options a un menu de recherche rapide qui redirige vers une page en fonction du résultat!!! [ par larcan57 ] salut à tous,je voudrais crée un menu de recherche rapide qui contient deux champs et lors de l'envoi la page suivante est déterminé en fonction du ré Moteur recherche web [ par astuces_jeux ] bonjour,j'ai créer mon propre moteur de recherche sur le web mais je dois mettre dans mysql page par page ou y a un autre moyen ??? Créer un moteur de recherche comme ctrl F [ par mike1310 ] Bonjour à touscomme c'est indiqué dans le titre souhaiterais créer un moteur de recherche sur une page de mon site qui me permettrait de surligner le Moteur de recherche [ par Adasteriam ] Cher tous, bonsoir! Je n'ai jamais programmé car je m'en suis toujours sortis sans en "programmant" avec l'interface dreamweaver mais aussi en téléch creation de moteur de recherche sans chargement de la page [ par jouiniatef ] Bonjour tout le monde,Je suis en train de développer un moteur de recherche comme celui www.promovacances.comMon probléme c'était comment faire pour c joomla moteur de recherche [ par haythemsorbonne ] Chers Joomlistes, Je demande votre aide de toute urgence pour un problème de moteur de recherche sur le site que je conçois actuellement. Je vous expo tri multicritere phpmysqul [ par armelkoudou ] Bonjour je susis vraiment busy , si quelqu'un pouvait me donner un coup de pouce j'ai afficher un repertoire qui affiche en premier tous les informati Problème sur moteur de recherche [ par VestaX ] Salut à tous !! Voilà, j'ai un petit problème sur un moteur de recherche. En fait j'ai une page de résultats de recherche, et une page index avec for Urgent Problème magento [ par vishwas ] hafsa_rani[^^clinoeil3] Bonjour à tous; J'ai créée un nouveau sous menu dans une page de l'admin magento, le problème c'est que le menu n'est pas acti


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,309 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales