Aspirant
Inscrit: 07/04/2003 02:51
|
Je poste la solution que j'ai recu de Ebrain pour ceux qui désire proposer cette petite fonction bien pratique.
Alors pour l'affichage des sujets originaux ou des réponses je pars du principe que les réponses sont automatiquement nommées par "Re:" et donc c'est ce que je filtre ou pas via SQL. Mon bout de code dans le template newbb_search.html est : <tr> <td class="head" align="right"><strong>Afficher :</strong> </td> <td class="row2"> <input type="radio" name="filtrer" value="sujet" />Sujets originaux <input type="radio" name="filtrer" value="post" />Sujet et reponses aux sujets </td> </tr> search.php est modifié comme ceci, à la fin des déclarations de variables : $filtrer = $_GET['filtrer']; Puis après $next_search['searchin'] = $searchin; : $next_search['filtrer'] = $filtrer; Ajouter la variable filtrer ici : if($uname_required&&(!$uid||count($uid)<1)) $result = false; else $results =& newbb_search($queries, $andor, $limit, $start, $uid, $forum, $sortby, $searchin, $subquery, $filtrer); Et là : $next_results =& newbb_search($queries, $andor, 1, $start + $limit, $uid, $forum, $sortby, $searchin, $subquery, $filtrer); Dernière modif dans include/search.inc.php : function &newbb_search($queryarray, $andor, $limit, $offset, $userid, $forums = 0, $sortby = 0, $searchin = "both", $subquery = "", $filtrer) Et insérer l'exception filtre : if ($filtrer == 'sujet') { $sql .= "AND (p.subject NOT LIKE 'Re:%')"; } if (!$sortby) { $sortby = "p.post_time DESC"; } Et voilà, une fonction bien pratique pour la recherche
Posté le : 07/09/2009 22:09
|