8791 sujets

Développement web côté serveur, CMS

Hello,

J'ai une question que j'ai posé sur un autre forum sans réponse :s j'espère trouver un peu d'aide.

Donc voici mon problème :

J'ai trouvé un tuto pour avoir une recherche en ajax (que j'aime beaucoup), le seul problème est que la recherche ne ce fait que sur le titre, j'aimerai qu'il soit aussi dans le contenu de l'article, les commentaires et l'auteur.

Le tuto ce trouve ici : "Search ajax"


Je suppose que c’est dans le fichier ajax-search.php la ligne :

Code: html

//recherche des résultats dans la base de données
$result = mysql_query( 'SELECT post_title , post_date , guid
FROM wp_posts
WHERE post_status = \'publish\'
AND post_title LIKE \'' . safe( $_GET['q'] ) . '%\'
LIMIT 0,20' );


Donc après "FROM wp_posts" j'ai aussi ajouté "wp_comments" mais sa fonctionne pas.


En tous cas merci Smiley lol
Modifié par lahrim (27 May 2011 - 17:17)
Administrateur
Il est utile de préciser qu'il s'agit de WordPress.

Pour ajouter une recherche sur le contenu, il faut introduire une nouvelle condition après celle sur post_title, notamment sur post_content (si mes souvenirs sont bons, il suffit de regarder la structure de la table SQL).

AND (post_title LIKE \'' . safe( $_GET['q'] ) . '%\' OR post_content LIKE \'' . safe( $_GET['q'] ) . '%\')


Sinon pour la recherche sur les commentaires, il faut ajouter une nouvelle requête à part entière. Tu ne peux juste "ajouter" le nom de la table dans celle-ci qui porte exclusivement sur les posts.
Merci pour cette réponse rapide, je teste ce soir et je te dit si cela fonctionne bien.

en tout cas encore merci Smiley smile Smiley lol
Alors après avoir fait les testes et regardé dans la base mysql, la recherche ne fonctionne pas pour le contenu des articles pourtant le champs est bien "post_content" mais il ne cherche pas dans le contenu entier il ne prend que le premier mot dans le contenu, il ne cherche pas dans toute le contenu

a écrit :
exemple :

alsacreations le forum.

quand je cherche alsacreations, la recherche le trouve si je cherche forum la il ne trouve pas


j'ai repris ton code en changent juste de place "post_content" avec "post_title"


AND (post_content LIKE \'' . safe( $_GET['q'] ) . '%\' OR post_title LIKE \'' . safe( $_GET['q'] ) . '%\')



$result =   mysql_query( 'SELECT post_title , post_content , post_date , guid



merci
Modifié par lahrim (03 Jun 2011 - 12:26)
Je déplace dans le salon dev serveur car ça concerne PHP, MySQL et WordPress, pas la couche JavaScript.