Ga naar inhoud
  • 0

GTRR in php


TheMisfit

Vraag

In een php-oplossing toon ik records en gerelateerde data d.m.v. portalen.

Ik kan ook perfect naar een gerelateerd record surfen dankzij een link waarin de recordID werd opgenomen.

Echter als ik dat doe, bestaat mijn "found-set" vanzelfsprekend slechts uit 1 enkel record en kan ik niet verder bladeren door de andere gerelateerde records.

 

Ik zoek dus eigenlijk naar een manier om een GTRR stap te implementeren d.m.v. PHP.

Ik kan me moeilijk voorstellen dat niemand anders daar behoefte aan gehad heeft. Alle inzichten zijn welkom want ik zit hopeloos vast.

Link naar reactie

5 antwoorden op deze vraag

Aanbevolen berichten

  • 0

Hoi,

 

Ben nog maar aan het verdiepen in PHP en dus nog een beginneling.

 

Maar het eerste wat in mijn hoofd komt is of:

 

Met een newFindCommand en getRecords()

 

de gegevens in een erray te plaatsen en vervolgens kun je die met next en previous tonen.

 

Je zou ook alleen de ID's in een variable kunnen stoppen en een sessie en die dan gebruiken voor next en previous met behulp van GET methode

 

Groet,

 

WJ

Link naar reactie
  • 0

Met de getRelatedSet() method van het Record object schiet je altijd raak. Dit geeft je een array terug met Record objects van ENKEL de gerelateerde records.

 

Als argument geef je de naam van de portal door. Belangrijk is dat die portal ook effectief op de layout staat, waar je je oorspronkelijke zoekopdracht op baseerde (of opgaf met de setResultLayout() method van het Command object)

 

- Jeroen

Link naar reactie
  • 0

Met de getRelatedSet() method van het Record object schiet je altijd raak. Dit geeft je een array terug met Record objects van ENKEL de gerelateerde records.

 

Volgens mij is dat niet het probleem, dat is gelukt. Het tonen van de gerelateerde data in een table is volgens mij gelukt als ik de vraag goed lees. Alleen vervolgens wil hij naar 1 van die records en die door bladeren.

 

Ik dacht dan aan een zoek te doen of de id via getRelatedSet op te slaan ?

 

Gr,

 

WJ

Link naar reactie
  • 0

Ah ja, ik had idd de vraag niet goed gelezen :?

 

Stel dat je een FMP layout hebt obv van parent tabel met child records in portal. Dan kan je werken met een geneste loop:

- 1 loop om je set parent records te doorlopen

- 1 loop voor elke parent record, de subset van children in je portal te doorlopen en op je pagina te tonen

 

Om je found set in de parent tabel mee te nemen van de ene naar de andere pagina, gebruik je ofwel een array met bv. id's in een sessievariabele, ofwel moet je een manier zoeken om je zoekopdracht te bewaren. Het laatste is uiteraard efficienter, het eerste is enkel doenbaar bij kleine recordsets...

 

Dit neemt niet weg dat je niet mag verwachten dat een webapplicatie even "rijk" en flexibel kan zijn als de desktop FileMaker versie. Door de eigenheid van webpagina's, is het helaas zo dat de server z'n klant "vergeet" na het doorsturen van records, en je moet dan manieren bedenken om found sets te doen onthouden. Anderzijds scheppen webpagina's oneindig veel andere mogelijkheden inzake interface.

 

Jeroen

Link naar reactie
  • 0

Mannen, bedankt om me in de juiste richting te duwen

 

Ik koppel nu aan elke portaalrij een link waarmee ik:

 

a) naar de gerelateerd table (lees layout) ga

b) een find op de parentID uitvoer

c) een range definieer skip=portaalrijnummer/max= 1

 

daarna hoef ik de skip maar te incrementern/decrementeren om te browsen

 

Het gerelateerde veld parentID dat zich op de child-layout moet bevinden, filter ik gewoon weg uit de PHP-loop die de velden op het scherm zet.

Link naar reactie

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...