Jump to content
  • 0

Zoekrequest opslaan bij zoeken dmv FORM (cdml) (pageranking)


michiel

Question

Posted

Ik zoek een methode om een door de gebruiker ingegeven zoekopdracht op te slaan in de database waarin wordt gezocht (in een global text field).

 

Dus: gebruiker voert zoekopdracht uit (via FORM) en de door hem opgegeven zoektermen worden weggeschreven in een global field in de database. Vervolgens wordt de zoekopdracht uitgevoerd en worden de zoekresultaten vergeleken met de termen in de zoekopdracht.

 

De bedoeling is om soort pageranking systeem te maken (meer relevante treffers staan bovenaan in de lijst met gevonden resultaten en "meer relevant" betekent in dit verband "hoe vaker de zoekterm terugkomt in het gevonden record, des te belangrijker is dat record).

 

In filemaker werkt het. Via het het web krijg ik niet voor elkaar omdat ik de zoektermen dus niet "afgevangen" krijg.

3 answers to this question

Recommended Posts

  • 0
Posted

Je kunt het volgende eens proberen:

Aan de submitknop in het eerste form hang je een onClick eventhandler die je bijvoorbeeld naar een JS functie toestuurt. Je maakt een verborgen I-Frame:


 

In die functie zet je iets als:

function(){
parent.dbframe.location.href='FMPro?een geldige new-recordactie&zoektermen='+document.getElementById('ID-FORMULIERVELD-ZOEKTERMEN').value;
}

Je geeft nu dus de opdracht om een nieuw record aan te maken met de zoekterm in het veld met id(let op dit is dus niet het name= maar het id= attribuut) ID-FORMULIERVELD-ZOEKTERMEN'. Dit gebeurt in het verborgen frame dus je ziet hier helemaal niets van.

 

Je kunt eventueel in je pagina een div status aanmaken en in de format en error bestanden iets als:


Voor de errors natuurlijk een andere tekst.

  • 0
Posted

Probeer eerst zo'n zoek te bouwen met een script binnen FileMaker zelf. Als je het daar voor elkaar hebt, zit je op goeie weg.

 

Een van de CDML-commando's is o.a -script waarmee je scripts kan uitvoeren. Het resultaat van dit script, is het resultaat van je webquery.

 

 

Koen

  • 0
Posted

Ik heb dit al een paar keer ingebouw. Ik heb echter geen filemaker als back-end gebruikt, wegens te traag. Omdat je meerdere keren zult moeten zoeken, telkens met andere parameters. En als je dan meerdere bezoekers op die pagina hebt, dan zal filemaker zweten.

De techniek is als volgt:

- Je bewaart de zoekargumenten in variabalen, op de voglende pagina (doorgegeven via een form)

- Die volgende pagina probeert dan eer eerste zoek/query op de data.

Is er resultaat. zeer goed, dan krijg je 100% results

Een aparte pagina maakt de resultaten, en houdt de score bij.

- Als er geen resultaten zijn, laat je een parameter weg (de minst belangrijke) en voer de zoek opnieuw uit, nu heb je misschien wel resultaten, maar dan tegen een mindere ranking.

Voorbeeldjes op:

http://www.occasielijn.be/index.lasso?page=zoek&action=r

http://hotel.eu.com/index.lasso?app=qsform

Zoals je ziet zit hier lasso achter, en MySQL (die dan op hun beurt worden gevuld vanuit FileMaker)

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...