Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

PHP Zoekfunctie/script

Kamie
8 antwoorden
  • Hé mensen, als ik op guides of tutorials zoek naar zoekfuncties vind ik enkel scripts waarbij gewerkt wordt met MySQL databases. Ik vind niets voor datgene wat ik graag wil - vandaar hier mijn vraag.

    Ik wil namelijk graag een heel eenvoudige zoekfunctie bestaande uit een invoerveld en een zoekknop. Vervolgens zoekt ie naar het woord op die pagina die overeenkomt met de zoekopdracht. Ik wil simpelweg niet met databases werken. Kan dit? Werken zonder databases als het gaat om zoekfuncties?
  • Hier een script voor zoeken op de pagina zelf (zoals ctrl F).
    Het werkt alleen niet bij Firefox.
    Is er iemand die weet hoe je het moet aanpassen voor Firefox?

    In het head gedeelte:
    [code:1:2da7c8ba18] <script language="JavaScript">
    /* Find In Page Script- By Mike Hall (MHall75819@aol.com) */
    var NS4 = (document.layers); // Which browser?
    var IE4 = (document.all);
    var win = window; // window to search.
    var n = 0;
    function findInPage(str) {
    var txt, i, found;
    if (str == "")
    return false;
    // Find next occurance of the given string on the page, wrap around to the
    // start of the page if necessary.
    if (NS4) {
    // Look for match starting at the current point. If not found, rewind
    // back to the first match.
    if (!win.find(str))
    while(win.find(str, false, true))
    n++;
    else
    n++;
    // If not found in either direction, give message.
    if (n == 0)
    alert("Niet Gevonden");
    }
    if (IE4) {
    txt = win.document.body.createTextRange();
    // Find the nth match from the top of the page.
    for (i = 0; i <= n && (found = txt.findText(str)) != false; i++) {
    txt.moveStart("character", 1);
    txt.moveEnd("textedit");
    }
    // If found, mark it and scroll it into view.
    if (found) {
    txt.moveStart("character", -1);
    txt.findText(str);
    txt.select();
    txt.scrollIntoView();
    n++;
    }
    // Otherwise, start over at the top of the page and find first match.

    else {
    if (n > 0) {
    n = 0;
    findInPage(str);
    }
    // Not found anywhere, give message.
    else
    alert("Niet Gevonden");
    }
    }
    return false;
    }
    </script>
    [/code:1:2da7c8ba18]

    in de body:
    [code:1:2da7c8ba18]<form name="search" onSubmit="return findInPage(this.string.value);">
    <input name="string" type="text" size=20 onChange="n = 0;">
    <input type="submit" value="Zoek Woord">
    </form>


    [/code:1:2da7c8ba18]
  • Er zijn ook wel zoekscripts, die hun data in een tekstbestand kunnen opslaan. Als je site niet al te groot is, werkt dat ook best. Kijk maar eens rond op hotscripts.
  • Heb je advies opgevolgd (zoek trouwens al overal) en op dit forum gevonden:

    http://forum.computertotaal.nl/phpBB2/viewtopic.php?p=1345227#1345227

    alleen bij mij werkt ie niet, zowel in IE als in Firefox.
  • Hij doet ook slechts 1 pagina.
  • Da's precies de bedoeling.
    Gewoon in feite als Ctrl F.
  • Waarom gebruik je dan niet ctrl-f… :roll: :o
  • [quote:6a63962d01="Buur"]Waarom gebruik je dan niet ctrl-f… :roll: :o[/quote:6a63962d01]
    Een invoer veld op de de plek zwaar die nodig is stimuleert het gebruik vele malen meer dan de vermelding dat je eerst iets zelf moet doen. Laat staan dat je iets moet uitleggen. Het dan wel relatief simpel, maar zelfs als je met het gebruik van Ctrl F bekend bent (wat voor heel veel mensen niet geldt) vormt zo'n stukje tekst een barrière
    Een zoekveld herken je echter direct en werkt uitnodigend.

    Belangrijker echter dan de reden waarom ik vind dat het belangrijk is, is de vraag waarom het script het in FDirefox niet doet, terwijl het eerste deel toch duidelijk geschreven is voor Netscape (=Firefox als afgeleide): NS4.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.