Ik ben druk bezig met mijn eerste zoek script en heb via Zend.com een goede tuto gevonden en deze toegepast op mijn database tabellen.
Mijn bronnen:
http://www.zend.com/zend/tut/tutorial-ferrara1.php
[rml][ php/mysql] Zeer goede search[/rml] (hier helaas ook weinig aan gehad)
Hoe en wat
Ik heb een eigen gemaakte CMS systeem en alle pagina's worden in de database opgeslagen. Nu wil ik met een search kunnen zoeken naar woorden in die database.
Het probleem
Nu heb ik 3 pagina's in de database staan. Nu heb ik 1 daarvan die heet `Disclaimer` en toen daarop gezocht en deed die het.
Nu heb ik een tweede pagina met tekst toegevoegd met daarin ook het woord 'Disclaimer'. Nu loopt ie hier op vast en zegt ie: niks gevonden.
Dus mijn vermoede zegt dat er een fout ontstaat in de while, maar heb hier niks op kunnen vinden.
Mijn code:
Er zullen kwa opmaak en dergelijke veel dingen niet kloppen, maar das nu niet echt mijn zorg. T'is een beetje bij elkaar geschraapt om gewoon te kijken hoe het werkt. Alvast bedankt!
Hotmetal
Mijn bronnen:
http://www.zend.com/zend/tut/tutorial-ferrara1.php
[rml][ php/mysql] Zeer goede search[/rml] (hier helaas ook weinig aan gehad)
Hoe en wat
Ik heb een eigen gemaakte CMS systeem en alle pagina's worden in de database opgeslagen. Nu wil ik met een search kunnen zoeken naar woorden in die database.
Het probleem
Nu heb ik 3 pagina's in de database staan. Nu heb ik 1 daarvan die heet `Disclaimer` en toen daarop gezocht en deed die het.
Nu heb ik een tweede pagina met tekst toegevoegd met daarin ook het woord 'Disclaimer'. Nu loopt ie hier op vast en zegt ie: niks gevonden.
Dus mijn vermoede zegt dat er een fout ontstaat in de while, maar heb hier niks op kunnen vinden.
Mijn code:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
| <? global $creation; // search engine if($_GET["search"]) { $zoek = $_GET["search"]; print ("U heeft gezocht op <i>$zoek</i>"); print ("<Hr align=Left class=hrule><BR>"); //maak tabelstart print ("<table align=center cellspacing=0 cellpadding=0 border=0 width=\"100%\">"); $request = "SELECT *, MATCH(`page_name`,`page_content`) AGAINST ('" . addslashes($_GET['search']) . "') AS score FROM cms_pagina WHERE MATCH(`page_name`,`page_content`) AGAINST('" . addslashes($_GET['search']) . "') ORDER BY score DESC"; $res = mysql_query($request) or die (mysql_error()); while ($rij = mysql_fetch_assoc($res)) { $id = $rij["page_id"]; $naam = $rij["page_name"]; $content = $creation->page_verkort("$rij[page_content]", "100"); $content = $creation->no_ubb("$content"); $score = $rij["score"]; //maak tabelinhoud print "<tr><td><a href=\"index.php?mod=pages&id=$id\" class=\"search_link\">$naam</a></td></tr>"; print "<tr><td>$content</td></tr>"; print "<tr><td>$score</td></tr>"; } print "</table>"; //error message (niets gevonden) if (!$naam) { print ("<BR><BR>Geen artikelen gevonden op de zoekopdracht <i>$zoek</i>"); } } else { ?> <BR><BR> <center> <form action="index.php?mod=zoek"> <input type="hidden" name="mod" value="zoek"> <input type="text" name="search" size="25"><BR><BR> <input type="submit" value="Begin met zoeken!!"> </form> </center> <? } ?> |
Er zullen kwa opmaak en dergelijke veel dingen niet kloppen, maar das nu niet echt mijn zorg. T'is een beetje bij elkaar geschraapt om gewoon te kijken hoe het werkt. Alvast bedankt!
Hotmetal
[ Voor 16% gewijzigd door Verwijderd op 22-07-2004 23:57 . Reden: php tag gebruikt ]