Recherche par priorité

Petit nouveau ! | 4 Messages

01 janv. 2012, 23:01

Bonjour,

J'ai fait un système qui me permet d'afficher des vidéos ainsi qu'un champs de recherche. Je voudrais avec le champ LIKE me semble t-il (j'ai encore du mal à le maîtriser) faire une recherche.

Mais par priorité c'est à dire. Si je recherche "Aaa bbb". Et que j'ai une entrée "aaa" et l'autre "aaa bbb" se soit la deuxième qui soit le mieux classé puisqu'elle est plus proche de se que l'on a entrer.

Voici mon code actuel :

Code : Tout sélectionner

<?php     $messagesParPage=9;     $retour_total=$bdd->query('SELECT COUNT(*) AS total FROM site_video WHERE pseudo = "'.$pseudoChaine.'"'); //Nous récupérons le contenu de la requête dans $retour_total     $donnees_total=$retour_total->fetch();     $total=$donnees_total['total'];     $nombreDePages=ceil($total/$messagesParPage);                                  if(isset($_GET['page'])){$pageActuelle=intval($_GET['page']);if($pageActuelle>$nombreDePages){$pageActuelle=$nombreDePages;}}else{$pageActuelle=1;}     $premiereEntree=($pageActuelle-1)*$messagesParPage;                                  $retour_messages=$bdd->query('SELECT * FROM site_video WHERE pseudo = "'.$pseudoChaine.'" ORDER BY id DESC LIMIT '.$premiereEntree.', '.$messagesParPage.'');     while($videos=$retour_messages->fetch()){ ?>     <div id="img_play">         <a href="video.php?v=<?php echo $videos['id_youtube']; ?>&id=<?php echo $videos['id']; ?>"><img src="<?php echo $videos['image']; ?>" id="img_sousplay" width="256px" height="192px"/>         <span style="color:black;font-size:13px;text-decoration:none;"><?php echo ucwords($videos['nom']); ?></span></a>     </div> <?php } ?>


Une idée pour faire ça ?
Merci d'avance.
Valentin.

Mammouth du PHP | 1339 Messages

03 janv. 2012, 15:01

On pourrait faire un système en plusieurs parties ?

Ex : Tu explodes les espaces. $explode = explode(' ', 'aaa bbb');

$search = NULL;
foreach($explode as $k => $v) {

$search .= $explode[$k].' ';
// Ta requete
}

La premiere fois ca va rechercher pour aaa, la deuxieme fois pour aaa bbb et si il trouve quelquechose la premiere fois, on arrete la boucle.

Idée ... A réflechir
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Mammouth du PHP | 568 Messages

03 janv. 2012, 15:04

Si tu veux pouvoir gérer la pertinence des tes résultats, il te faut des index FULLTEX.

http://dev.mysql.com/doc/refman/5.0/fr/ ... earch.html