Avatar billede miss-g Seniormester
08. marts 2018 - 16:05 Der er 3 kommentarer og
1 løsning

Live search kode

Hej

Vil lige starte med at sige, at jeg ikke kan programmere, kan højst ændre lidt i en kode....

Jeg leder efter en kode, der kan søge/vise resultat fra mysql database uden at siden opdateres. De Ajax live search koder jeg har leget med, fungerer egentligt fint nok - bortset fra at jeg ikke ønsker, at alle records bliver vist til at starte med, og søgningen virker som et filter (fjerner records, der ikke matcher, så kun resultatet bliver tilbage).

Jeg ønsker en "blank" side med et søgefelt, og når man indtaster et ord, så kommer resultatet uden opdatering af siden.

Er der nogen der har link til sådan en kode?
Er det kun Ajax der kan lave kode, så siden ikke skal opdateres?

Min side er i PHP med Mysql database.

På forhånd tak.
Avatar billede jakobdo Ekspert
08. marts 2018 - 19:08 #1
Ajax står for: Asynchronous JavaScript And XML.

I "gamle" dage sendte man netop data til serveren, som så smagte på disse data og reloaded hele siden og viste indhold der matchede til det der blev sendt til serveren.
F.eks. en søgning, hvor man søger på: miss-g

Ajax kan netop gøre det smarte, at den kan sende data frem og tilbage mellem serveren, uden en reload er nødvendig.

Når man så får data retur, så udskifter man selv elementer i dom'en (html-koden) indsætter, sletter, skifter, opdatere etc..

En ide du kunne arbejde med, var at starte med at lave din søge form.
Når den er på plads, så kan du smide noget ajax på.

Det kan "nemt" laves med jquery:
https://api.jquery.com/jquery.post/
Og jeg ville så nok smide følgende plugin ovenpå:
http://benalman.com/projects/jquery-throttle-debounce-plugin/

Det gør, at har du en hurtig på keyboard tasterne og vedkommende søger på:

miss-g, så skyder den ikke en søgning af med:
søgning 1: m
søgning 2: mi
søgning 3: mis
søgning 4: miss
søgning 5: miss-
søgning 6: miss-g

Altså sikrer den, er der er lidt forsinkelse inden en søgning skydes af.
Avatar billede miss-g Seniormester
08. marts 2018 - 21:35 #2
Tak for svar - det er dog lidt for diffust for mig, jeg kan som sagt ikke programmere.

Men du siger, at jeg skal kigge efter en søgefunktion i jquery med ajax.

Jeg prøver at lede derude....
Avatar billede jakobdo Ekspert
08. marts 2018 - 23:41 #3
Vi er ude i noget ala dette: https://jsfiddle.net/wnxsL8nb/

I stedet for så at lave:
$("#output").text("Searching for: " + $(this).val());

Så skal den selvfølgelig ramme noget "server-kode" så den kan få et svar retur.
Det vil være nemmest at lave i noget json.
Avatar billede miss-g Seniormester
16. marts 2018 - 15:44 #4
Jeg har fundet en brugbar løsning her: https://www.sourcecodester.com/tutorials/php/11576/how-create-simple-search-mysql-table-using-php-mysqli-and-ajax.html

Koden er nok ikke "sikker", men jeg bruger den i et admin område, så tænker der er god nok til mig.

LØST!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester