- Punteggio reazioni
- 0
- Punti
- 28
Un aiuto su uno script di ricerca avanzata in php che sto verificando.
Salve a tutti premesso che sono alle prime armi ma voglio imparare qualche cosa su php. Sto modificando un Add-on inerente un motore di ricerca da implementare su un mio forum . La query che ho realizzato mi cerca solo nel testo dei post ma non nei titoli.
Allego sotto la query
// run query
if ($keywords != '')
{
$posts = $db->fetchAll("
SELECT xf_post.post_id,
xf_post.username,
xf_thread.title AS threadTitle,
xf_node.title AS forumTitle,
xf_post.post_date
FROM xf_post
INNER JOIN xf_thread ON xf_thread.thread_id = xf_post.thread_id
INNER JOIN xf_node ON xf_node.node_id = xf_thread.node_id
WHERE xf_post.message LIKE " . XenForo_Db::quoteLike($keywords, 'lr') . "
$whereclause
ORDER BY xf_post.post_id DESC
LIMIT ?
", $limit);
}
A me interesserebbe che cercasse anche nella tabella xf_thread e precisamente in uno dei suoi campi che si chiama title. (xf_thread.title)
il mio problema è come impostare il select per due tabelle il FROM
il WHERE ho pensato si potesse sostituire cosi: WHERE xf_post.message AND xf_thread.title LIKE " . XenForo_Db::quoteLike($keywords, 'lr') . "
come posso fare? qualcuno mi potrebbe spiegare come farlo cercare anche nella tabella xf_thread e campo title?
grazie mille.
Salve a tutti premesso che sono alle prime armi ma voglio imparare qualche cosa su php. Sto modificando un Add-on inerente un motore di ricerca da implementare su un mio forum . La query che ho realizzato mi cerca solo nel testo dei post ma non nei titoli.
Allego sotto la query
// run query
if ($keywords != '')
{
$posts = $db->fetchAll("
SELECT xf_post.post_id,
xf_post.username,
xf_thread.title AS threadTitle,
xf_node.title AS forumTitle,
xf_post.post_date
FROM xf_post
INNER JOIN xf_thread ON xf_thread.thread_id = xf_post.thread_id
INNER JOIN xf_node ON xf_node.node_id = xf_thread.node_id
WHERE xf_post.message LIKE " . XenForo_Db::quoteLike($keywords, 'lr') . "
$whereclause
ORDER BY xf_post.post_id DESC
LIMIT ?
", $limit);
}
A me interesserebbe che cercasse anche nella tabella xf_thread e precisamente in uno dei suoi campi che si chiama title. (xf_thread.title)
il mio problema è come impostare il select per due tabelle il FROM
il WHERE ho pensato si potesse sostituire cosi: WHERE xf_post.message AND xf_thread.title LIKE " . XenForo_Db::quoteLike($keywords, 'lr') . "
come posso fare? qualcuno mi potrebbe spiegare come farlo cercare anche nella tabella xf_thread e campo title?
grazie mille.