Bonjour à vous tous, j'aimerais savoir si il est difficile de faire son propre moteur de recherche pour son site. Tutoriel à me proposer merci.
Salut,

Faire ton propre moteur de recherche pour ton site va te demander d'avoir une connaissance avancée de php. Il existe peut être des "kits de script de moteur de recherche", mais je doute qu'ils soient forcément simple à adapter.
La question est de savoir si tu as ou non une connaissance avancée de php ? Smiley cligne
Je me débrouille, mais pas assez pour me lancer dans un gros projet... Toutefois est-ce que tu aurais une idée ou un alternative pour que j'ai un moteur.
si tu veux t'amuser j'ai fais un petit moteur de recherche à toi de l'adapter.
<?php
require_once('./class/class.model.php');
if(isset($_POST['motsCles']) || !empty($_POST['motsCles']))
{
	$motsCles=$_POST['motsCles'];
	$motsCles = explode(" ",$motsCles);
	$query = array();
	foreach($motsCles as $motsCles)
	{
      	$query[] = "( 
      	nom LIKE '%".$motsCles."%'
      	OR image LIKE '%".$motsCles."%'
      	OR description LIKE '%".$motsCles."%')";
	}
	$query = implode(" ",$query);
	$sql = "SELECT id, nom, image, description FROM produits WHERE $query";
   $result = $connection->selectTableau($sql);
   //echo $sql;
   //echo '::'.count($result).'::';
   if ((count($result)=== 0))
   {	
      echo '<span>aucun résultat trouvé avec <strong>'.$_POST['motsCles'].'</strong>, recommencer</span>';
   }
   else if(count($result) === 1)
   {
         echo '<div id="nomCategrorie"><p>'.count($result).' résultats avec <strong>'.$_POST['motsCles'].'</strong></div></p>';?>
		<table>
		<tbody>
      		<tr>
      			<th>Numéro</th><th>image</th><th>Nom</th><th>description</th>
      		</tr>
      		<?php
      		$result = $connection->select($sql);
      		$compte=1;
      		foreach ($result as $row)
      		$image=$row['image'];
      		{?>
      		<tr>	
   				<td><a href="?page=detailProduit&idProduit=<?php echo $row['id'];?>"><?php echo $compte++;?></a></td>
         		<td style="text-align:center; postion:absolute; margin-top:200px;">
         	    	<strong style="text-align:center; postion:absolute; left:0;">
         	    	   <?php echo $nom;?>
         			</strong><br><?php 
	    	$tabImage= explode(' ', $image);
      	    	if(isset($tabImage[0]) && !empty($tabImage[0]))
      	    	{
      				echo '
      					<img src="images/'.$tabImage[0].'" height="100px" width="100px" 
      					style="border:3px solid #6495ED" alt="$tabImage[0]" /><br>';
      			}
      			else
      			   echo '<img src="img/noImage.jpg" width="100px" alt="Aucune image de description" /><br>';?>
         		</td>
      			<td><a href="?page=detailProduit&idProduit=<?php echo $row['id'];?>"><?php echo $row['nom'];?></a></td>
      			<td><a href="?page=detailProduit&idProduit=<?php echo $row['id'];?>"><?php echo $row['description'];?></a></td>
      		</tr>
      <?php }?>
      	</tbody>
      	</table><?php
   }
   else
   {
      echo '<div id="nomCategrorie"><p>'.count($result).' résultats avec <strong>'.$_POST['motsCles'].'</strong></div> 
      </p>';?>
		<table>
		<tbody>
      		<tr>
      			<th>Numéro</th><th>image</th><th>Nom</th><th>description</th>
      		</tr>
      		<?php
      		$result = $connection->select($sql);
      		$compte=1;
      		foreach ($result as $row)
      		{?>
      		<tr>
   				<td><a href="?page=detailProduit&idProduit=<?php echo $row['id'];?>"><?php echo $compte++;?></a></td>
         		<td style="text-align:center; postion:absolute; margin-top:200px;"><?php 
                    $tabImage= explode(' ', $row['image']);
         	    	if(isset($tabImage[0]) && !empty($tabImage[0]))
         	    	{
         				echo '
         					<img src="images/'.$tabImage[0].'" height="100px" width="100px" 
         					style="border:3px solid #6495ED" alt="'.$tabImage[0].'" />';
         			}
         			else
         			   echo '<img src="img/noImage.jpg" width="100px" alt="Aucune image de description" /><br>';?>
         		</td>
      			<td><a href="?page=detailProduit&idProduit=<?php echo $row['id'];?>"><?php echo $row['nom'];?></a></td>
      			<td><a href="?page=detailProduit&idProduit=<?php echo $row['id'];?>"><?php echo $row['description'];?></a></td>
      		</tr>
      <?php }?>
      	</tbody>
      	</table><?php
   }
}?>
Salut,

pdrou3 a écrit :
Je me débrouille, mais pas assez pour me lancer dans un gros projet... Toutefois est-ce que tu aurais une idée ou un alternative pour que j'ai un moteur.
Juste pour rappel, la fonction de recherche est intégrée à la plupart (tous ?) des CMS.

@xaviou > une recherche à base de LIKE risque d'être méchamment gourmande... Un index FULLTEXT me semble préférable.