Ajax met dbase query

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Rob

Rob

07/08/2007 20:51:00
Quote Anchor link
hallo, ik heb op het net een leuk Ajax scriptje gevonden. nu werkt dit met een aantal variabele tekst bestanden maar kan natuurlijk ook met een database. Hoe zet ik nu die query in elkaar en welke variabelen moet ik dan blijven gebruiken. Mijn db heet users en het gaat om het zoekveld name waarna het bijbehorende email adres en telnr tevoorschijn moet komen. dit is een stuk van de code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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

/* LET OP: Het is test-script - het is heel erg inefficient - in de praktijk worden suggesties natuurlijk uit een database gehaald */

    $invoer = $_REQUEST["invoer"];

    $namen = array("albert", "anna", "aart", "bart", "carel", "cees", "dirk", "eduard", "ed", "frits", "gert", "gerda", "hendrik", "harry", "henrieke", "karel", "kiki", "klaas", "laura", "laurens", "marc", "marieke", "marjolein", "pieter", "pipo", "petrarca", "rene", "rambo", "sandra", "sandrien", "sanne", "simon", "sinterklaas", "timbo", "timmie", "tinus", "titus");

    $resultaten = array();

    /* sorteer de namenarray */

    sort($namen);

    $invoer_lengte = strlen($invoer);
    
    if($invoer_lengte >= 1)
    {
        /* alle namen afgaan of te kijken of er overeenkomsten zijn met de invoer */
        for($c=0; $c < count($namen); $c++)
        {
            $temp = substr($namen[$c], 0, $invoer_lengte);     
            if($temp == $invoer){
                /* we hebben een overeenkomst */
                array_push($resultaten, $namen[$c]);
            }
        }


en dit is het stukje HTML

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
function doe_suggestie()
{
     if( !document.getElementById || !document.getElementsByTagName) return false;
  
    var myConn = new XHConn();
    if( !myConn ) return false;

    
    var invoer = "&invoer=" + invoer_veld.value;

    /* functie die uitgevoerd wordt als het laden klaar is */
    var fnWhenDone = function(oXML)
    {
        var suggesties = oXML.responseXML.getElementsByTagName("suggestie");
        var suggestie_lijst = "<ul>";
        for(var c = 0; c < suggesties.length; c++)
        {
            suggestie_lijst += "<li><a href=\"doe_iets.php?woord=" + suggesties[c].firstChild.nodeValue + "\">" + suggesties[c].firstChild.nodeValue + "</a></li>";
        }
        suggestie_lijst += "</ul>";
        suggestie_container.innerHTML = suggestie_lijst;
    }
    /* connecten met PHP script */
    myConn.connect("doe_suggestie.php", "POST", invoer, fnWhenDone);
}

function opzetten()
{
    var invoer_veld = document.getElementById("invoer_veld");
    var suggestie_container = document.getElementById("suggestie_container");
    invoer_veld.onkeyup = doe_suggestie;
}

window.onload = opzetten;

</script>

</head>
<body>
<p>Vul hier een stuk van een woord in</p>
<input type="text" size="20" id="invoer_veld" name="invoer">
<div id="suggestie_container"></div>
 
Er zijn nog geen reacties op dit bericht.



Overzicht Reageren

 
 

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.