Ich versuche grade mit ajax und mögliche Ergebnisse aus der DB zu holen, z.B wenn ich etwas in ein Textfeld eingebe, dann möchte ich mir das (oder die) möglichen Ergebnisse anzeigen lassen. Wie könnte man das mit ajax machen, sodass die möglichen Ergebnisse ein klein wenig über dem Textfeld angezeigt werden und das bei einem Klick auf eine der Möglichkeiten, diese dann in das Textfeld übernommen wird?
Derzeit habe ich das:
$(document).ready(function() {
$('#Tag').on('input propertychange paste', function() {
var tag = $('input[name="Tag"]').val();
$.ajax(
{
method: "POST",
url: "tag.php",
cache: false,
data: tag
}).done(function(data)
{
alert("Erfolg!");
}).fail(function()
{
alert("Fehler!");
})
});
});
Alles anzeigen
Ich denke mal, das ich den HTML Teil jetzt nicht unbedingt posten muss, oder? Ich habe das PHP Skript auch schon einmal so ohne JS ausgefürt und das ganze funktioniert dann auch aber irgendwie gibt er bei dem PHP Teil hier auch nichts aus, also auch nicht auf der console.
$term = $_POST["Tag"] . "%";
echo $_POST["Tag"];
$query = $dbz->prepare("SELECT name FROM tag WHERE name LIKE :tag");
$query->bindParam(':tag', $term, PDO::PARAM_STR);
try
{
$query->execute();
$result = $query->fetch();
}
catch(PDOException $e)
{
echo '<p>Ein Fehler ist aufgetreten!</p>' . $e;
}
$name = $result['name'];
echo $name;
var_dump($result);
dbz = null;
Alles anzeigen
Er geht auch oben in das event rein, also wo ich prüfe, ob etwas in das Feld kopiert wurde oder ob da was geändert wird und es wird auch test mit alert ausgegeben aber sonst halt nichts.
An Daten die Übergeben werden sollen, muss ja auch nur dieses eine Feld(Tag) übergeben werden und dann will ich ja die Ergebnisse in so einem Art Kasten halt anzeigen und man kann dann das passende Auswählen und dann wird dieses bei einem Klick in das Feld Tag übernommen.