Bekijk de onderstaande video om te zien hoe je onze site als een web app op je startscherm installeert.
Opmerking: Deze functie is mogelijk niet beschikbaar in sommige browsers.
<?php
if (isset($_POST['sendform'])) {
if (isset($_POST['username']) && !empty($_POST['username'])) {
echo "De username is " . $_POST['username'];
}
}
?>
<!DOCTYPE html>
<html lang="nl">
...
<form autocomplete="off" [B]action="index.php"[/B] method="post">
<label for="username">Naam</label>
<input type="text" id="username" name="username">
[B]<button[/B] type="submit" name="sendform">Verstuur[B]</button>[/B]
</form>
$db_host = "localhost";
$db_user = "";
$db_pass = "";
$db_name = "";
$table = "users"; // tabel
$field = "name"; // veld in tabel
if (!isset($_POST['sendform'])) {
$q = (isset($_POST['term'])) ? $_POST['term'] : "";
$q = trim(strtolower($q));
$conn = new mysqli($db_host, $db_user, $db_pass, $db_name);
if ($conn->connect_error) die("Geen connectie: " . $conn->connect_error);
$sql = "SELECT ".$field." FROM ".$table." WHERE LOWER(".$table.".".$field.") LIKE '".$q."%' LIMIT 10";
$result = $conn->query($sql);
$a = []; // tot php5.3 is het $a = array();
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
array_push($a, $row[$field]);
}
}
$conn->close();
echo json_encode($a);
}
?>
Dit klopt, je wordt niet doorgestuurd naar autocomplete_query.phpalleen wordt ik niet doorgestuurd van index.php naar autocomplete_query.php
<!DOCTYPE html>
<html lang="nl">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>AutoComplete</title>
<style>
div.acWrap {
position: relative;
}
div.acBox {
position: absolute;
top: 25px; left: 0;
padding: 5px;
z-index: 999;
background: #fff;
border: 1px solid grey;
display: none;
}
div.acBox div:hover {
cursor: pointer;
background: #ffa;
}
</style>
<script src="autocomplete.min.js"></script>
<script>
window.addEventListener("load", function(){
suggest.attach({
target : 'username',
url : 'autocomplete_query.php',
delay : 300,
min : 2
});
});
</script>
</head>
<body>
<form autocomplete="off" action="" method="post">
<label for="username">Naam</label>
<input type="text" id="username" name="username">
</form>
</body>
</html>
In de bijlage heb ik de html en php aangepast zodat je de autocomplete op meerdere <input> velden kan gebruiken. In het voorbeeld heb ik voornaam en achternaam gebruikt. In het sql test-bestand staat een tabel Personen die je als test in dezelfde database kan zetten. Aan de sql select query heb ik distinct toegevoegd om te voorkomen dat er 10 keer "Doe" in het uitklapvenster komt te staan.Maar mijn db ziet er even anders uit. Veld Voornaam en veld Achternaam
<?php
[B]$name = '';[/B]
if (isset($_POST['sendform'])) {
We gebruiken essentiële cookies om deze site te laten werken, en optionele cookies om de ervaring te verbeteren.