Jump to content
  • 0

container velden


keestimmer

Question

Posted

Hallo beste forumleden,

Ik loop tegen een probleem aan en kan niet bedenken wat ik fout doe. Ik wil een lijst genereren op een webpagina van bijvoorbeeld 4 beelden die zijn opgeslagen in een 'embedded' container veld. Het container veld staat in een portaal, maar dat maakt verder niet uit.

hieronder de php regel waarbij ik de gegevens uit de database opvraag...

mijn_tabel .= '

containerBridge.php?path=' . urlencode ($related_record->getField('Aanvraag::MyFMContainer')) . '';

 

Er gebeurt eigenlijk het volgende:

Kijk in in de browser dan mist er één beeld.., in de tabel. Doe ik een refresch dan verschijnt het missende beeld en een ander beeld mist opeens. Daar kan ik geen antwoord op vinden. Het lijkt een bug...

 

Heeft iemand deze ervaring ook... En is er misschien iemand die een andere benadering kent om beelden uit een filemaker tabel te laten zien op een internet pagina. Misschien is er een plugin die ik kan inzetten om het geheel aan de praat te krijgen. Ben er al twee dagen mee aan het 'pielen'. Niets lukt eigenlijk!

Ik hoop dat er iemand in het forum is die me een richting kan uitwijzen.>!

Bedankt, groeten Kees Timmer

Recommended Posts

  • 0
Posted

Hoi Andries, bedankt dat je wil meekijken...

Het is echt een raar probleem. Het geheel werkt dus wel, maar elke aanroep van de pagina in een browser geeft een ander resultaat... De ene keer mist beeld 1 en 4 uit de lijst. Bij een volgende aanroep heb ik beeld 123 en geen 4. En dan weer 13 en 4 en mis ik beeld 2.

Geen touw aan vast te knopen!

 

Hierbij de code. Als je meer wil weten... dan hoor ik het graag!

Kees

 

$result = $request->execute();

 

// Geen Sleutel gevonden

if(FileMaker::isError($result))

{

header("Location: /error.php");

exit;

}

else

{

$related_records = $record->getRelatedSet('Aanvraag');

foreach($related_records as $related_record )

{

mijn_tabel = '

mijn_tabel .= '

mijn_tabel .= '

' . $related_record->getField('Aanvraag::FileName_item') . '';

mijn_tabel .= '

containerBridge.php?path=' . urlencode ($related_record->getField('Aanvraag::MyFMContainer')) . '';

mijn_tabel .= '

';

}

mijn_tabel .= '

';

}

echo mijn_tabel;

  • 0
Posted (edited)

extra info:

Filemaker server genereert volgende error:

Sep 11, 2015 1:19:08 PM

Web Publishing Core

Error

0

192.168.69.33 127.0.0.1:62378 www - 812 568 "/fmi/xml/fmresultset.xml?-db=FileScanner_v1&-layoutnames"

 

en

 

0

192.168.69.33 127.0.0.1:62697 www - 812 0 "/fmi/xml/cnt/189731.png?-db=FileScanner_v1&-lay=InterFace_Aanvraag&-recid=133&-field=Aanvraag::pict_item(1).84"

Edited by Guest
  • 0
Posted

Error 0 wil zeggen: alles ok, dus daar zit je goed :)

 

ik denk dat er een fout zit in het opbouwen van je tabel. Je opent in elke iteratie een nieuw "

 

probeer dit eens:

 

>
$result = $request->execute();

// Geen Sleutel gevonden
if(FileMaker::isError($result))
{
    die header("Location: /error.php");
}
$related_records = $record->getRelatedSet('Aanvraag');
mijn_tabel = '</pre>
<table>' . $related_record->getField('Aanvraag::FileName_item') . '</table>';<br>echo mijn_tabel

  • 0
Posted

Nee jammer dat heeft geen effect. Ik heb ff een plaatje gemaakt. twee keer de pagina laden in Safari, chrome en FF: min of meer hetzelfde effect

 

5a758dd49158e_ScreenShot2015-09-11at13_55_45.png.32359979c3f2e0e0fd2ad6390f50426e.png

Ik denk dat ik een andere insteek moet kiezen maar weet niet goed welke, vandaar een plugin oid.

 

groet Kees

  • 0
Posted

Andries, ook dat is raar. Kies ik voor open image in New Tab:

geen probleem hij laadt het plaatje en je ziet een normale afbeelding. Niets mis mee!

 

Dit zijn de links van een "goed" en een "slecht" plaatje:

http://192.168.69.33/beeldbank/containerBridge.php?path=%2Ffmi%2Fxml%2Fcnt%2F202490eeee.png%3F-db%3DFileScanner_v1%26amp%3B-lay%3DInterFace_Aanvraag%26amp%3B-recid%3D133%26amp%3B-field%3DAanvraag%3A%3Apict_item%281%29.86

 

http://192.168.69.33/beeldbank/containerBridge.php?path=%2Ffmi%2Fxml%2Fcnt%2F202490.png%3F-db%3DFileScanner_v1%26amp%3B-lay%3DInterFace_Aanvraag%26amp%3B-recid%3D133%26amp%3B-field%3DAanvraag%3A%3Apict_item%281%29.85

 

Hoi Benach, fijn dat je ook even meekijkt:

containerBridge.php

 

Groet Kees

 

<?php

require_once ('inc/func.php');
if (isset($_GET['path']))
{
$url = $_GET['path'];
$url = substr($url, 0, strpos($url, "?"));
$url = substr($url, strrpos($url, ".") + 1);
if($url == "jpg"){
	header('Content-type: image/jpeg');
}
else if($url == "gif"){
	header('Content-type: image/gif');
}
else if($url == "png"){
	header('Content-type: image/png');
}	
else if($url == "pdf"){
	header('Content-type: application/pdf');
}	
else{
	header('Content-type: application/octet-stream');
}
echo $fm->getContainerData($_GET['path']);
}
?>

  • 0
Posted

Ik zie dat je .psd plaatjes gebruikt maar in het containerbridge.php document worden alleen special cases uitgefilterd voor .jpg, .gif, .png en .pdf.

Een psd krijgt dan altijd de header: Content-type: application/octet-stream

 

Zou daar het probleem kunnen zitten. Je kunt dit testen door even alleen een stel .png (screenshots op de mac) plaatjes in de database op te slaan en op de webpagina op te roepen.

  • 0
Posted

Die naam is maar "tabel vulling". Het zijn wel degelijk of jpg'tjes of png plaatjes. Zou het in mijn fm server installatie zitten..?

Zou iemand dit op z'n eigen server kunnen testen. Dat zou geweldig zijn..!

Groet, Kees

  • 0
Posted

Ik heb webpagina's draaien met tot wel 80 plaatjes. Die worden allemaal prima weergegeven. Een verschil met jouw situatie is dat dit gedaan wordt vanaf een layout in de tabel met de plaatjes, dus niet vanaf een gerelateerd record. Test eens of daar wellicht het probleem zit.

  • 0
Posted

Nou dat is in ieder geval een geruststelling. Daar wordt ik blij van. Ik heb ook een container record op de layout staan. Als ik alle records opvraag inclusief het container veld. Hetzelfde verhaal..! Onwillekeurig worden beelden niet geladen. Bij een refresh laden de ontbrekende beelden en zijn weer andere records "leeg"...

Nog een vraag jij toont de beelden ook mbv. containerbridge..? En zit container bridge goed in elkaar volgens jou? Als je dat bevestigd dan ga ik opnieuw installeren...

Groet van Kees

  • 0
Posted

Ik heb in de loop der tijden wat zitten rommelen aan de containerbridge en ga niet meer standaard uit van de extensie van het plaatje. Ik geef als het even kan het type van het bestand expliciet mee. Hier zit dat in de parameter -type. De parameter -file bevat expliciet de volledige filenaam van het plaatje. Dit is een apart berekeningsveld in mijn FM toepassing.

 

De business-end voor het ophalen van de containerdata ziet er daardoor bij mij ietsje anders uit:

 

if (isset($_GET['-url'])){

	$url = $_GET['-url'];	

	if (isset($_GET['-type']))
		$type = $_GET['-type'];
	else
		$type = substr($url, strrpos($url, ".") + 1);

	if (isset($_GET['-file']))
		$file = $_GET['-file'];
	else
		$file ='';

	if($type == "jpg"){
		header('Content-type: image/jpeg');
		header('Content-Disposition: inline; filename="'.$file.'"');
	}
	else if($type == "gif"){
		header('Content-type: image/gif');
		header('Content-Disposition: inline; filename="'.$file.'"');
	}
	else if($type == "pdf"){
		header('Content-type: application/pdf');
		header('Content-Disposition: inline; filename="'.$file.'"');
	}
	else if($type == "tiff"){
		header('Content-type: image/tiff');
		header('Content-Disposition: attachment; filename="'.$file.'"');
	}
	else { 
       	header('Content-type: application/octet-stream');
       	header('Content-Disposition: attachment; filename="'.$file.'"');
  		} 
echo $fm->getContainerData($url);
}

 

Maar eerlijk gezegd zie ik verder geen probleem in jouw versie. :|

  • 0
Posted

Ik heb dat onder diverse installaties (fm10 t/m 14) draaien op zowel windows als mac. (10.8 t/m 10.10)

 

Een heel andere benadering van de oorzaak van jouw probleem is om het in timing te zoeken. Wanneer een plaatje getoond moet worden kan dat al vervangen zijn door het volgende plaatje of juist nog niet beschikbaar zijn. Kijk eens of je met het tonen van slechts 1 en daarna 2, 3 enz een punt kunt aangegeven waarop het wel altijd goed of fout gaat.

  • 0
Posted

Ik dacht dat het in mijn fm bestand zat... Dus deze ochtend even een test gedaan met een nieuw filemaker bestand. Geen succes. 1 veld 12 container records met een plaatje erin... Er is geen consequent gedrag te zien... Of althans ik zie het niet.. Vraag: heb je een server binnen handbereik. Ik heb een gezipt mapje klaar staan met daarin fm bestand en de twee php bestanden. Zou je deze willen plaatsen op jouw filemaker server.??

  • 0
Posted

En als je je browser een aantal keren refresht.. drie records gaat altijd goed 4 records mis ik in 9 van de 10 gevallen een beeld steeds op een wisselende plek... bij 11 records minimaal 2 images worden niet getoond?

FMS opnieuw geïnstalleerd. Andere Mac proberen...

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...