DBsearch Class

Door Pieter van Linschoten, 14 jaar geleden, 2.176x bekeken

Ik heb mij al een eerder gebogen over een searchengine, en toen was de uitkomst een beetje slapjes. Weinig mogelijkheden tot uitbreiden, en noem het maar op. Dus bij deze een 2e poging, om jullie het zoeken naar zoekende scriptjes en het zoeken zelf een stapje makkelijker te maken.

Aan de opbouw van de zoekresultaten moet je het voorlopig doen met een bitter kale $key => $var output.
Hier ga ik mij binnenkort over buigen. Er volgen zeker nog updates, verder zijn suggesties ook altijd welkom. Maar hierbij deze de eerste op het eerste oog 'werkende' (hem hem nog niet 100% kunnen testen) versie van de DBsearch Class

Nota bene
Je moet je kollommen natuurlijk wel een fulltextindex meegeven, wil je gebruik kunnen maken van de fulltextsearch.

Gesponsorde koppelingen

PHP script bestanden

  1. dbsearch-class

 

Er zijn 14 reacties op 'Dbsearch class'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Onbekend Onbekend
Onbekend Onbekend
14 jaar geleden
 
0 +1 -0 -1
Google != zoekt databases door..
Crispijn -
Crispijn -
14 jaar geleden
 
0 +1 -0 -1
Volgens mij gaat je highlighter over de zeik als het zoekwoord in een hyperlink staat!

zoekwoord: test

gevonden resultaat: Dit is een <a href=http://www.test.nl">test</a>

Hij highlight nu dus de test in de href en de tekst van de link... Heb je hier een oplossing voor?

edit: ziet er verder netjes uit. Ik ga hem eens testen in de toekomst! :)
Pieter van Linschoten
Pieter van Linschoten
14 jaar geleden
 
0 +1 -0 -1
Tommy, ik dacht dat google een eigen database had, waar ze alle informatie, die ze op websites vinden, in opslaan. Hij zoekt in iedergeval niet 'live' over het internet. Kan aan mij liggen hoor, als ik het mis heb...
Crispijn -
Crispijn -
14 jaar geleden
 
0 +1 -0 -1
Nee, dat heb je niet mis. Google zou dan waarschijnlijk alle servers ter wereld plat leggen door de hoeveelheid dataverkeer en sneller wordt het er ook niet op ;)

Heb je misschien nog op een oplossing voor bovenstaand probleem?
Pieter van Linschoten
Pieter van Linschoten
14 jaar geleden
 
0 +1 -0 -1
mysql_real_escape_html_tags? Nee?

hehe, ik ga even een oplossing bedenken!

edit:
Dit zou al beter moeten werken...
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?
return preg_replace("/(?!<!--)(?!<)(^|[\s\.,>])($string)($|[\s,\.])(?!>)(?!-->)/i",
"\\1<span class=\"highlight\">\\2</span>\\3", $text);
?>
Onbekend Onbekend
Onbekend Onbekend
14 jaar geleden
 
0 +1 -0 -1
Quote:
Lapidi schreef op 07.05.2009 09:34
Tommy, ik dacht dat google een eigen database had, waar ze alle informatie, die ze op websites vinden, in opslaan. Hij zoekt in iedergeval niet 'live' over het internet. Kan aan mij liggen hoor, als ik het mis heb...


Google gebruikt gewoon MySQL. Ze hebben hier zelf wel dingen aan gemod.
Crispijn -
Crispijn -
14 jaar geleden
 
0 +1 -0 -1
ik wacht op een reactie van Frank :) Waarschijnlijk maken ze geen gebruik van MySQL...
Hipska BE
Hipska BE
14 jaar geleden
 
0 +1 -0 -1
Toch wel hoor Crispijn. Ze hebben het wel heel erg veel aangepast zodat hij toch nog redelijk werkbaar is..

@dit script: Spijtig dat er geen gebruik gemaakt wordt van prepared statements. Ware het niet dat de class __construct heeft staan, dan zou het gewoon een php4 class zijn. M.a.w. je gebruikt 0 van php5 functionaliteiten.

Verdiep je even in classes voor php5 en betere/veiligere manieren om een database aan te spreken met mysqli of PDO.

EDIT: oja, je gebruikt ook nog overal private ipv protected zodat je class niet kan extended worden :-(
Crispijn -
Crispijn -
14 jaar geleden
 
0 +1 -0 -1
Ohw, dat is wel bijzonder vind ik! :) Grappig dat google dan met de basis wel kan wat mysql nu nog niet voor elkaar krijgt ;)
Onbekend Onbekend
Onbekend Onbekend
14 jaar geleden
 
0 +1 -0 -1
Wat krijgt MySQL niet voor elkaar?

En Google heeft echt verschrikkelijk veel aangepast aan MySQL om het voor hun werkbaar te maken, dat wil niet zeggen dat ze bugs hebben gefixed die nog wel in de standaard releases van van MySQL zitten..
Han eev
Han eev
14 jaar geleden
 
0 +1 -0 -1
Volgens mij zit er nu debug data in: searchFulltext
print $query.'<br />';

Hoort er denk ik niet ;-)
Pieter van Linschoten
Pieter van Linschoten
14 jaar geleden
 
0 +1 -0 -1
@ Han:
Inderdaad, debug data..

@ Hipska:
Ik heb mijzelf nog niet helemaal verdiept in de OOP veranderingen in PHP 5. Schandalig, maar het is werkelijk waar, er zijn nog steeds mensen die geen pepernoot begrijpen van PDO of wat dan ook, omdat ze alleen al moe worden van de ellelange documentatie..

Desalniettemin niet minder schandalig, ik geef toe.

Maar leg mij eens uit, wat bij deze class de toegevoegde waarde zou kunnen zijn, door hem nog meer OOP5 features mee te geven?
Han eev
Han eev
14 jaar geleden
 
0 +1 -0 -1
@lapidi: Niet alleen bij searchFulltext, ook bij de andere functies ;-) (debug data)
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Jan geen
Jan geen
14 jaar geleden
 
0 +1 -0 -1
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$sColumns
= NULL;
foreach($columns as $column){
     $i++;
     $sColumns .= ($i==1?'':',').$column;
}

// Kan je hier niet gewoon implode(",", $colums) gebruiken?

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. dbsearch-class

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.