Dropdown lijst met suggestie
Is iemand als eens bezig geweest met een keuze lijst waarbij tijdens het type de lijst met suggesties gevuld wordt vanuit een database(Json of MYSQLi) of weet een link naar zo'n script en wil deze kennis delen.
Dan kom je iets dergelijks als dit tegen :
http://adoptive.esy.es/autocomplete/
en
http://adoptive.esy.es/dynamic_select/
Via jquery werkt het inderdaad allemaal heel makkelijk. Je kunt met een api een json opstellen en daarmee de data uitlezen b.v.
Ik zal de code er straks eens bijpakken.
https://jqueryui.com/autocomplete/#remote
of
https://jqueryui.com/autocomplete/#remote-jsonp
Als je de voorbeelden volgt, moet je normaal een heel eind kunnen komen!
of
https://jqueryui.com/autocomplete/#remote-jsonp
Als je de voorbeelden volgt, moet je normaal een heel eind kunnen komen!
Nog een vraag. Is het mogelijk om de array $data, deze bevat per rij drie waarden, te sorteren op de derde waarde??
Toevoeging op 10/08/2017 19:14:59:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
if (isset($_GET['term']) && $_GET['term'] != '') {
$sql = "SELECT afk AS afkorting, plaats FROM locaties
WHERE plaats LIKE('".mysqli_real_escape_string($conn,$_GET['term'])."%'
ORDER BY plaats";
$suggest_query = mysqli_query($conn,$sql);
$searchresults = array();
while($suggest = mysqli_fetch_assoc($suggest_query)) {
$searchresults[] = array( "label" => utf8_encode($suggest['plaats']),
"id" => $suggest['afkorting']
);
}
}
echo json_encode($searchresults);
?>
if (isset($_GET['term']) && $_GET['term'] != '') {
$sql = "SELECT afk AS afkorting, plaats FROM locaties
WHERE plaats LIKE('".mysqli_real_escape_string($conn,$_GET['term'])."%'
ORDER BY plaats";
$suggest_query = mysqli_query($conn,$sql);
$searchresults = array();
while($suggest = mysqli_fetch_assoc($suggest_query)) {
$searchresults[] = array( "label" => utf8_encode($suggest['plaats']),
"id" => $suggest['afkorting']
);
}
}
echo json_encode($searchresults);
?>
Mijn code ;-).
Gewijzigd op 10/08/2017 20:21:59 door - Ariën -
Want wie zoekt nou in een XML-file. De meesten mensen gebruiken een relationele database zoals MySQL/MariaDB ;-)
- Ariën - op 10/08/2017 20:00:46:
Alleen jammer dat die voorbeelden op die sites soms totaal op praktijk gebasseerd is die weinig voorkomt.
Want wie zoekt nou in een XML-file. De meesten mensen gebruiken een relationele database zoals MySQL/MariaDB ;-)
Want wie zoekt nou in een XML-file. De meesten mensen gebruiken een relationele database zoals MySQL/MariaDB ;-)
Met jQuery kun je prima ook MySQL etc gebruiken... Je haalt de data op uit een PHP bestand, wat je daar dus in zet, kun je zelf bepalen.
Ik doe het met jQuery en vervolgens een MySQL verbinding in de PHP.
Ik heb jouw code iets aangepast, op regel 1 kreeg ik een foutmeldin(depricated)
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
$suggest_query = mysqli_query($dblink, $sql);
$searchresults = array();
while($suggest = mysqli_fetch_assoc($suggest_query)) {
$searchresults[] = array( "nf" => utf8_encode($suggest['nf']),
"FEI_id" => $suggest['fei_id'],
"current_name" => $suggest['current_name']
);
}
$searchresults = array();
while($suggest = mysqli_fetch_assoc($suggest_query)) {
$searchresults[] = array( "nf" => utf8_encode($suggest['nf']),
"FEI_id" => $suggest['fei_id'],
"current_name" => $suggest['current_name']
);
}
En om een datalist te maken deze code toegevoegd
<datalist>
Code (php)
echo "</datalist\n ";
?>
Dan gebruik je een database.
buiten de boot.
Edit: Mijn code was inderdaad nog verouderd. Ik moet de code zelf voor mijn eigen project nog eens nodig refactoren. Nu moet het wel goed zijn.
En verder is datalist in HTML wel erg leuk, maar helaas valt Apple's Safari en Opera nog Edit: Mijn code was inderdaad nog verouderd. Ik moet de code zelf voor mijn eigen project nog eens nodig refactoren. Nu moet het wel goed zijn.
Gewijzigd op 10/08/2017 20:22:53 door - Ariën -