Ik heb een grote lijst plaatsnamen in een mysql tabel staan, en wil via een form hier 1 uit selecteren
Hoe kan ik dat maken zoals google dat doet, dat er terwijl je typt resultaten die voldoen aan je opdracht worden getoond?
Omdat de tabel city-id`s en andere informatie bevat die op een andere pagina(process.php) wordt gebruikt, wil ik dat er alleen een optie kan worden geselecteerd, en niet gewoon tekst ingetypt door de user.

Hoe dit te doen??
Alvast bedankt!
Dank je wel
Nogmaals: Zie http://jqueryui.com/autocomplete/
Dan heb je al een flinke stap gezet als het al vanaf standaard werkt.

Daarna moet je even de boel ombouwen:
- je PHP-script als 'source' aanroepen
- connectie in je PHP-script aanpassen en veldnamen
Ik heb nu op de index het script staan van : http://jqueryui.com/autocomplete/, met als enige aanpassing de source naar " source: "data.php" " en dan is data.php het de afhandeling zoals boven staat, met als enige aanpassingen de call naar sql

Nu zegt data.php dat de connectie met database is gelukt, maar ik krijg in de index geen resultaten.
Wat gaat er mis?

data.php
<?php

$link =mysqli_connect("host","user","pass","db_name");

if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
header("Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . "GMT" );
header("Cache-Control: no-cache, must-revalidate" );
header("Pragma: no-cache" );
header('Content-Type: application/json; charset=utf-8');

if (isset($_GET['term']) && $_GET['term'] != '') {
$sql = "SELECT name FROM `Haltes` LIMIT 0, 30 ;
WHERE name = '".mysqli_real_escape_string($con,$_GET['term'])."'";
$suggest_query = mysql_query($sql);
$searchresults = array();
while($suggest = mysql_fetch_assoc($suggest_query)) {
$searchresults[] = array("label" => utf8_encode($suggest['name']), "id" => $suggest['id']);
}
}
echo json_encode($searchresults);

?>
Je hebt wel een hele vreemde query.
Bouw foutafhandeling in dan zie je wat er gebeurt.
Lijn 8 is niet nodig. De autocomplete struikelt er toch over.
@SanThe, Wat is er vreemd aan de query(gekregen van Aar)
@Aar, lijn 8 verwijderen lost het probleem niet op, en hoe struikelt de
Maar wat kan de fout zijn?

Als ik de data.php pagina laad, wordt daar alleen "null" geecho`t
<?php
$sql = "SELECT name FROM `Haltes` LIMIT 0, 30 ;
         WHERE name = '".mysqli_real_escape_string($con,$_GET['term'])."'";
?>

resulteert in:
<?php
SELECT name FROM `Haltes` LIMIT 0, 30 ; /* LET OP DE ; die beëindigd de SQL statement */
/* dus is dit geen query meer */
WHERE name = 'blablabla'
Nogmaals de vraag vanaf het begin,
Ik wil een tekst form waarin terwijl je typt er een lijst van suggesties komt, zoals bijvoorbeeld in google, de reisplanner van NS en 9292 ( http://ns.nl of http://9292.nl)

Dit wil ik uit een mysql database halen of als het mogelijk is vanuit een API call naar 9292 zelf
Lijn 8 lost in ieder geval al EEN probleem op, want dat verpest anders je JSON-string die de $.autocomplete terug verwacht.

Zie Ger's bericht eens, blijkbaar is je query gewoon stuk waardoor het niet werkt. Als je dat oplost, dan zal het mogelijk werken, maar dat kan je dan het beste eerste uitvoeren in phpMyAdmin o.i.d.....

Foutafhandeling raad ik ook zeker aan, maar je zult het dan wel handmatig via het zoeken.php moeten doen.
Ook dat oplossen werkt helaas niet, hoe bedoel je dat ik het uit moet voeren in phpMyadmin?

Reageren