Avatar billede tsocm Nybegynder
21. januar 2002 - 16:19 Der er 35 kommentarer og
1 løsning

Realtime i søgning af database

hejsa alle sammen, søger et script der kan klare realtime søgning i en DB.

I kender vist alle sammen programmet WinAmp, og den søge funktion.

Et script der kan klare det.

Altså en textarea, når man skriver
n
kommer alle resultater der indeholder n i orderet.
skrives:
nr
findes så alle resultaterne der indeholder nr.

Jeg må sq ærlig indrømme at jeg ikke ved om det kan lade sig gøre i php. derfor de 15 point.
Avatar billede gimmy Nybegynder
21. januar 2002 - 16:23 #1
Det kan ikke klares - ikke uden at siden refreshes hver gang der bliver indtastet et tegn. Du skal nok have gang i noget JavaScript sammen med php, men jeg tror aldrig det vil blive rigtig godt :-/
Avatar billede tsocm Nybegynder
21. januar 2002 - 16:26 #2
gimmy  >> takker >> hvis du vil have point, må du sige det, spm overflyttes til JavaScript.
Avatar billede entracore Nybegynder
21. januar 2002 - 16:29 #3
Man kan lave et hack hvor det ser ud som om du fortager en realtime søgning. Du deler din side op i frames. Den ene frame (frame1) fylder 100% og den anden (frame2) ligger i baggrund og tager imod requests fra frame1.

Du kan så sende din søgestreng fra frame 1 til frame2 ved hjæp noget javascript. Frame 2 fortager søgningen på serveren og retunere et resultat. Dette resultat sendes så tilbage til Frame 1 via javascript og vises på siden.

Ovenstående er måske heller ikke så browserkompatibelt... men det er en løsning.
Avatar billede gimmy Nybegynder
21. januar 2002 - 16:30 #4
tsocm: Jaeeh, men som sagt bliver det aldrig rigtig godt :-/
Men du kan da gøre et forsøg.
Avatar billede tsocm Nybegynder
21. januar 2002 - 16:31 #5
entracore  >> Lyder godt :-) Kan du lave løsningen til mig?
Avatar billede gimmy Nybegynder
21. januar 2002 - 16:34 #6
entracore: det var ca. det jeg tænkte på - blot med en iframe kørende hvor \"søgebogstaverne\" bliver sendt til, men det vil som sagt ikke blive voldigt godt.
Avatar billede entracore Nybegynder
21. januar 2002 - 16:37 #7
Det kan jeg godt - jeg kan lave HTML og javascriptet, men PHP må du nok hellere selv stå for. Og ikke for at lyde alt for kapitalistisk så mu du gerne smide et par hunderede point oveni :-) Sagen er den at det nok vil tage mig 1 time eller 2.

Ligeledes vil løsning ikke være kompatibel med alle browsere.

Håber det er iorden?
Avatar billede Slettet bruger
21. januar 2002 - 16:39 #8
entracore>> Hvis det er så besværligt, så bed om penge, for Ekspertens regler siger 15-60 points for et spm.
Det er ikke min mening at lyde gammelklog, jaloux eller sådan noget, men lad os nu holde Eksperten på et nogenlunde højt niveau, så længe det kan lade sig gøre! :)
Avatar billede entracore Nybegynder
21. januar 2002 - 16:50 #9
phoenixv >> Det vil jeg ikke helt give dig ret i udfra følgende betragtning. Jeg bruger et par timer til at udvikle noget HTML og javascript. Jeg vil gerne have kompensation for den tid jeg bruger. Penge er nok ikke den bedste måde at betale på. Så derfor 200 point. De 200 point kan jeg stille en masse spørgsmål for, fremfor selv at sidde og bitche over noget et problem, hvilket vil sige at jeg spare noget tid (endda måske 2 timer).
Avatar billede gimmy Nybegynder
21. januar 2002 - 16:53 #10
tsocm: Jeg vil godt bistå med hjælp til php\'en hvis du har brug for det og jeg kan finde tid til det. Jeg er dog ikke hjemme i aften, men måske på et eller andet tidspunkt.
Avatar billede tsocm Nybegynder
21. januar 2002 - 17:05 #11
Hvis det er i orden for alle parter hæver jeg point tallet til 200, og vil meget gerne bede om hjælp ;-)
Avatar billede tsocm Nybegynder
21. januar 2002 - 17:08 #12
entracore >> ja tak ;-)
Avatar billede entracore Nybegynder
21. januar 2002 - 17:09 #13
Ok - jeg banker en løsning sammen til dig :-)
Avatar billede gimmy Nybegynder
21. januar 2002 - 17:09 #14
Mener du mig?
Avatar billede tsocm Nybegynder
21. januar 2002 - 17:19 #15
gimmy  >> Jeg tror måske godt jeg kan lave php, løsningen, ellers opretter jeg et nyt spm til den tid. ;-)
Avatar billede gimmy Nybegynder
21. januar 2002 - 17:20 #16
oki :)
Avatar billede entracore Nybegynder
21. januar 2002 - 18:14 #17
Ok - her kommer det færdige resultat. Bemærk at du nok skal omdøbe filerne fra ASP til PHP. Filerne indeholder en smule ASP kode. disse kan du bare erstatte med PHP koder.
Skidtet er testet i IE 6.0

God fornøjelse :-)

*************************************
index.asp
*************************************
<frameset rows=\"100%,*\" frameborder=\"0\" framespacing=\"0\">
    <frame name=\"frame1\" src=\"frame1.asp\" scrolling=\"no\" noresize>
    <frame name=\"frame2\" src=\"\" scrolling=\"no\" noresize>
</frameset>


*************************************
frame1.asp
*************************************
<html>

<head>
    <title>Frame 1</title>
</head>

<script language=\"javascript\">
    function fnkSendString(searchstring) {
        parent.frame2.location.href=\"frame2.asp?searchstring=\" + searchstring.value;
       
        value.innerHTML = \"Søger...\";
    }
</script>

<body>

    <table>
    <form name=\"searchform\">
        <tr>
            <td>Searchstring:</td>
            <td><textarea name=\"searchstring\"></textarea></td>
        </tr>
        <tr>
            <td></td>
            <td><input type=\"button\" value=\"search\" onclick=\"fnkSendString(searchform.searchstring, \'search\');\"></td>
        </tr>
    </form>
    </table>
   
    <div id=\"value\"></div>
</body>

</html>


*************************************
frame2.asp
*************************************
<%
    \'Dette er har du fortager din søgning.
    \'Søgeresultatet skal du lægge ind i strengen \"searchstring\".
    \'\"searchstring\" kan også indeholde HTML koder
   
    searchstring = \"<b>Dette er resultat af en søgning</b>\"
%>

<html>

<head>
    <title>Frame 1</title>
</head>

<script language=\"javascript\">
    function fnkRecieveString(searchstring) {
        parent.frame1.value.innerHTML = searchstring;
    }
</script>

<body onload=\"fnkRecieveString(\'<%= searchstring %>\');\">


</body>

</html>
Avatar billede entracore Nybegynder
21. januar 2002 - 18:16 #18
Følgende linie:
<td><input type=\"button\" value=\"search\" onclick=\"fnkSendString(searchform.searchstring, \'search\');\"></td>

Skal er stattes med denne her:
<td><input type=\"button\" value=\"search\" onclick=\"fnkSendString(searchform.searchstring);\"></td>
Avatar billede entracore Nybegynder
21. januar 2002 - 18:17 #19
og det virker også i IE 5.0
Avatar billede entracore Nybegynder
23. januar 2002 - 22:26 #20
Øhhh tsocm har du fået det til at virke eller hvad ?
Avatar billede tsocm Nybegynder
24. januar 2002 - 00:01 #21
entracore >> Beklager, der har være en del problemer på min server, så jeg har ikke kunne teste det. og jeg må ærlig indrømme at jeg glemte spm'et fuld stændigt, da det med serveren skete, men jeg har fådet den op og køre igen, så jeg håber det er i orden  at jeg venter til veekenden,

1000 tak indtilvidere ;-)
Avatar billede entracore Nybegynder
24. januar 2002 - 00:39 #22
Bare ok ;-)
Avatar billede tsocm Nybegynder
24. januar 2002 - 13:45 #23
Jeg ar ikke fådet den til at virke endnu, men i søge formularen er der en search knap, den skal jo ikke være der.

Det skal bare være lige som winamp.
Avatar billede entracore Nybegynder
24. januar 2002 - 16:32 #24
En mindre misforståelse..... den fikser jeg lige sådan kommer til at virke...
Avatar billede entracore Nybegynder
24. januar 2002 - 17:17 #25
Erstat al kode i filen Frame1.asp med følgende kode;

------------------------------------------------------------------------
<html>

<head>
    <title>Frame 1</title>
</head>

<script language="javascript">
    function fnkSendString(getStat) {
        if (getStat == "True") {
            document.onkeydown=getExpression
        } else {
            document.onkeydown='';
        }
    }
    function getExpression() {
        var keycode = event.keyCode
        var realkey = String.fromCharCode(event.keyCode)
        //alert(realkey);
        parent.frame2.location.href="frame2.asp?searchstring=" + searchform.searchstring.value;
       
        value.innerHTML = "Søger...";
    }
</script>

<body>

    <table>
    <form name="searchform">
        <tr>
            <td>Searchstring:</td>
            <td><textarea name="searchstring" onclick="fnkSendString('True');" onblur="fnkSendString('False');"></textarea></td>
        </tr>
        <tr>
            <td></td>
            <td><input type="button" value="search"></td>
        </tr>
    </form>
    </table>
   
    <div id="value"></div>
</body>

</html>
Avatar billede entracore Nybegynder
24. januar 2002 - 17:19 #26
også kan du selvfølgelig slette knappen.... ;-)
Avatar billede tsocm Nybegynder
25. januar 2002 - 19:26 #27
kunne jeg få dig til at lave det som det skal være og smide det i en zip fil til mig, har lidt problemer med at sætte det om :-(
Avatar billede entracore Nybegynder
27. januar 2002 - 22:58 #28
Det kan jeg godt - har du en mail adresse jeg kan sende det til ?
Avatar billede tsocm Nybegynder
27. januar 2002 - 23:48 #29
-->> tsocm@e-mail.dk <<--

Det er jo lige med at huske det hele *gg*
Avatar billede entracore Nybegynder
28. januar 2002 - 08:06 #30
Ok - Filerne er sendt.
Avatar billede tsocm Nybegynder
28. januar 2002 - 10:40 #31
/tak

Jeg har siddet og kigget lidt på det her til morgen.

Der inden hvor jeg laver mqsql søningen via php, og skal ligge resultatet i "searchstring" er det et array eller hva?

og hvis ja, skal alle resultaterne vel ind på en gang?
Avatar billede entracore Nybegynder
28. januar 2002 - 10:58 #32
Det du skal gøre er at indsætte dit resultat i variablen searchstring. Nedenstående eksempel er skrevet i ASP men giver et præcist billede af hvordan du tildeler en værdi til searchstring.

SqlQ = "Select * From Tabel Where Kolonne = '" &  Request("Soegestreng") & "'"
Set rSqlQ = Connection.Execute(SqlQ)
Do While Not rSqlQ.Eof
searchstring = searchstring & "<tr><td>" & rSqlQ("Kolonnenavn") & "</td></tr>"
rSqlQ.MoveNext
Loop

searchstring = <table>" & searchstring & "</table>"
Avatar billede tsocm Nybegynder
28. januar 2002 - 12:48 #33
henter hjælp til oversættelse fra asp, til php, min computer bliver ved med at melde fejl.
Avatar billede tsocm Nybegynder
28. januar 2002 - 13:05 #34
Avatar billede tsocm Nybegynder
28. januar 2002 - 22:28 #35
Problemet er ikke helt løst, men vi kan jo bare forsætte i det andet spm ;-)
Avatar billede entracore Nybegynder
29. januar 2002 - 08:36 #36
Mange tak - vi kan forsætte dialogen under spg 164787 :-)
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