ik ben bezig met de admin area van een site, en een van die delen is admin_article waar je eerst een overzichtje krijgt van de articles, en waar je ook kan zoeken naar articles, adh van auteur, categorie, datum etc.
Nu wou ik ook laten zoeken met keywords, dus heb ik de velden aName en aText als FULLTEXT ingesteld in MySQL. (aName is de title van het artikel, en aText de tekst zelf uiteraard)
Nu heb ik het volgende:
In het stukje hierboven wordt dus een onderdeel van de query gebouwd om te zoeken op article. $searchField heeft de gebruiker in een form gekozen, en is ofwel "a.aName" of "a.aText" of "a.aName, a.aText".
de query:
al die andere AND clauses zijn dus andere zoekspullen. Als er geen zoekopdracht is gegeven is elk van deze variabelen 1 zodat je krijgt "WHERE 1 AND 1 AND 1" etc.
de error die ik krijg:
Warning: Supplied argument is not a valid MySQL result resource in D:\PixelCoders/admin/admin_article.php on line 412
en ten slotte de ge-echode query als ik zoek in de tekst op 'woei'
wat is nu fout? ik draai MySQL boven versie 3.23.23 dus FULLTEXT support zit er al in.
Nu wou ik ook laten zoeken met keywords, dus heb ik de velden aName en aText als FULLTEXT ingesteld in MySQL. (aName is de title van het artikel, en aText de tekst zelf uiteraard)
Nu heb ik het volgende:
PHP:
1
2
3
4
5
6
| <? //keyword search if ($searchField != "") { $keywordSearch = "MATCH $searchField AGAINST ('$keywords')"; } ?> |
In het stukje hierboven wordt dus een onderdeel van de query gebouwd om te zoeken op article. $searchField heeft de gebruiker in een form gekozen, en is ofwel "a.aName" of "a.aText" of "a.aName, a.aText".
de query:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| <? echo $articlesQ = "SELECT a.aid, a.aName, a.aDate, a.visible, au.auName, c.cName, $keywordSearch AS score FROM article a, author au, category c WHERE a.auid = au.auid AND a.cid = c.cid AND $idSearch AND $authorSearch AND $categorySearch AND $dateSearch AND $visibilitySearch AND $keywordSearch ORDER BY $order"; $articlesR = mysql_query($articlesQ); ?> |
al die andere AND clauses zijn dus andere zoekspullen. Als er geen zoekopdracht is gegeven is elk van deze variabelen 1 zodat je krijgt "WHERE 1 AND 1 AND 1" etc.
de error die ik krijg:
Warning: Supplied argument is not a valid MySQL result resource in D:\PixelCoders/admin/admin_article.php on line 412
en ten slotte de ge-echode query als ik zoek in de tekst op 'woei'
code:
1
2
3
4
| SELECT a.aid, a.aName, a.aDate, a.visible, au.auName, c.cName, MATCH a.aText AGAINST ('woei') AS score
FROM article a, author au, category c
WHERE a.auid = au.auid AND a.cid = c.cid AND 1 AND 1 AND 1 AND 1 AND 1 AND MATCH a.aText AGAINST ('woei')
ORDER BY aid |
wat is nu fout? ik draai MySQL boven versie 3.23.23 dus FULLTEXT support zit er al in.