Php en ajax

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Niek -

Niek -

09/01/2012 19:31:20
Quote Anchor link
Ik heb een probleem met een autosuggest script en de connectie met de database.

Op de pagina staat de suggestbox:
<input type="text" id="naam" name="teamID" value="" onkeyup="ajax_showOptions(this,'getCountriesByLetters',event)">


Dan staat in het .js bestand:
var ajax_list_externalFile = 'ajax-list-countries.php';

In ajax-list-countries.php staat:
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
<?

$conn
= mysql_connect("","","");
mysql_select_db("",$conn);

if(isset($_GET['getCountriesByLetters']) && isset($_GET['letters'])){
    $letters = $_GET['letters'];
    $letters = preg_replace("/[^a-z0-9 ]/si","",$letters);
    $res = mysql_query("SELECT naam, locatie FROM teams WHERE naam LIKE '%".$letters."%' LIMIT 0, 20") or die(mysql_error());
    while($inf = mysql_fetch_array($res)){
        echo $inf["naam"]."&nbsp;&nbsp;(".$inf["locatie"].")|";
    }    
}

?>


Wanneer ik alle waardes invul bij $conn werkt het script prima.

Nu wil ik graag het volgende:
In het js bestand staat de verwijzing:
var ajax_list_externalFile = 'verwerking.php';

In het verwerking.php wordt al verbinding gemaakt met de database enz.
Nu wil ik de code die in het .php er ongeveer op de volgende manier uit gaat zien:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?
public function GetTeams()
    {

        $res = self::$DBH->query("SELECT naam, locatie FROM teams WHERE naam LIKE '%".$letters."%' LIMIT 0, 20")->fetchAll(PDO::FETCH_ASSOC);
        return $res;
    }

?>


hoe krijg ik dan de verwijzing in het .js bestand dat de gegevens staat verwerking.php en dan GetTeams en staan namelijk nog veel meer dingen in verwerking.php en just GetTeams is ie nodig??
Gewijzigd op 09/01/2012 19:33:03 door Niek -
 
PHP hulp

PHP hulp

23/12/2024 04:38:20
 
Kris Peeters

Kris Peeters

10/01/2012 17:49:59
Quote Anchor link
Wat Ajax doet: Ajax is javascript die achter je rug (asynchroon) connectie zoekt met de server. Dat doet het door te surfen naar een bepaalde url (Je hebt ook de mogelijkheden om met POST, COOKIES en SESSION te werken).

Met andere woorden: jij moet een url klaar zetten waarin die functie wordt aangeroepen.

Wanneer je als gewone gebruiker naar die pagina surft, zal je het zelfde terug krijgen dat ajax terug krijgt.

concreet: je kan bv dit doen:

verwerking.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if (isset($_GET['ajax'])) {
  GetTeams();
...
}

?>


Dat moet je in het Ajax verzoek, de url aanpassen. bv.
var ajax_list_externalFile = 'verwerking.php?ajax=1';

Maar het punt is dus: Ajax kan naar verwerking.php?ajax=1 surfen, maar jij ook.
 



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.