Php Moteur de recherche : classer les données de résultats
loutry
-
loutry -
loutry -
Bonjour à tous,
je me permets de revenir sur le forum pour solliciter votre aide.
J'ai cherché sur la toile une fonction Moteur de recherche que j'ai trouvé et qui fonctionne pas mal.
aujourd'hui, j'aimerais la compléter car elle manque de pertinence.
pour se faire, j'aimerai classer mes données.
Pour le moment, j'ai dans mon moteur 2 récupérations de données dans la même table t_pkmn : le nom et le type.
Et ici le code de ma feuille de résultat
Ma demande serait :
Peut-on dans ma feuille de résultat mettre en premier les noms et dans une seconde partie les types ?
Sachant par exemple que le mot feu peut être compris soit dans le nom ou dans le type.
je ne sais pas si je suis assez clair :s
Merci par avance pour votre aide.
Bon aprem
je me permets de revenir sur le forum pour solliciter votre aide.
J'ai cherché sur la toile une fonction Moteur de recherche que j'ai trouvé et qui fonctionne pas mal.
aujourd'hui, j'aimerais la compléter car elle manque de pertinence.
pour se faire, j'aimerai classer mes données.
Pour le moment, j'ai dans mon moteur 2 récupérations de données dans la même table t_pkmn : le nom et le type.
function resultat_recherche($search)
{
$ou="";
$search = preg_split('/[\s]+/',$search);
$total_resultat = count($search);
foreach($search as$key=>$searches)
{
$ou .= "nomfr LIKE '%$searches%' OR type1 LIKE '%$searches%'";
if($key !=($total_resultat-1))
{
$ou .= "AND";
}
}
$query = mysql_query("SELECT * FROM t_pkmn WHERE $ou ORDER BY id_pkmn ASC");
$rows = mysql_num_rows($query);
if($rows)
{ ?>
[...]
// ici pas de souci (je pense)
<?php
while($row = mysql_fetch_assoc($query))
{
echo "<tr>";
echo "<td>#".$row['id_pkmn']."</td>";
} else echo "Pas de résultat pour votre recherche ".$searches;
}
?>
Et ici le code de ma feuille de résultat
<?php
if(isset($_POST['submit']))
{
$search = mysql_real_escape_string(htmlentities(trim($_POST['search'])));
if(empty($search))
{
$error[] = "<img src='images/structure/valid_wrong.png' alt=''>";
}
if(empty($error))
{
echo "<fieldset>";
resultat_recherche($search);
echo "</fieldset>";
}
else
{
foreach($error as $errors){
echo $errors."<br />";
}
}
}
?>
Ma demande serait :
Peut-on dans ma feuille de résultat mettre en premier les noms et dans une seconde partie les types ?
Sachant par exemple que le mot feu peut être compris soit dans le nom ou dans le type.
je ne sais pas si je suis assez clair :s
Merci par avance pour votre aide.
Bon aprem
A voir également:
- Php Moteur de recherche : classer les données de résultats
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Google moteur de recherche page d'accueil - Guide
- Copernic moteur de recherche - Télécharger - Navigateurs
- Copernic Desktop Search - Télécharger - Utilitaires
- Pourquoi mon moteur de recherche change tout seul ✓ - Forum Virus
2 réponses
Bonjour,
Le plus simple serait d'appeler ta recherche en deux fois, en modifiant ses paramètres d'appel :
Devient :
Xavier
Le plus simple serait d'appeler ta recherche en deux fois, en modifiant ses paramètres d'appel :
function resultat_recherche($search)
// [...]
$ou .= "nomfr LIKE '%$searches%' OR type1 LIKE '%$searches%'";
// [...]
echo "<fieldset>";
resultat_recherche($search);
echo "</fieldset>";
Devient :
function resultat_recherche($search, $column)
// [...]
$ou .= " $column LIKE '%$searches%' ";
// [...]
echo "<fieldset>";
resultat_recherche($search, 'nomfr');
echo "</fieldset>";
echo "<fieldset>";
resultat_recherche($search, 'type1');
echo "</fieldset>";
Xavier