Problemen Fotogallerij

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Belastingdienst - Freelance Applicatieontwikkelaar

Startdatum: 01.06.2023 Richttarief: €65,00 - €75,00 Duur van de opdracht: 6 maanden Uren per week: 36 Taal: Nederlands vereist! Gelieve in het Nederlands te solliciteren. Hybride. Kantoordagen in Utrecht, incidenteel in Apeldoorn Functieomschrijving: De afdeling IV – Generieke Voorzieningen – Interactie Online is onderdeel van de keten Interactie. De missie van de keten is: “het faciliteren van de interactie met alle burgers, bedrijven en hun vertegenwoordigers om hen in staat te stellen aan hun fiscale verplichtingen te voldoen en aanspraak te maken op hun rechten.” De afdeling Interactie Online heeft een belangrijke bijdrage binnen deze keten. Dit door het ontwikkelen

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

C# developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als C# Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling. Mede hierdoor zij wij dit jaar Microsoft Partner of the Year geworden. Sogetisten staan klaar voor elkaar, hebben lol met elkaar en daarmee behalen we de mooiste resultaten! Werken bij Sogeti

Bekijk vacature »

C# .NET Ontwikkelaar ASP.NET

Samengevat: Deze werkgever is een inkooporganisatie. Ben jij een ervaren .Net ontwikkelaar? Heb je ervaring met .Net en C#? Vaste baan: C# .NET Developer .Net MBO HBO €3.100 - €4.300 Onze missie is: “Een essentiële bijdrage leveren aan het verlagen van de integrale kostprijs van de aangesloten groothandels, middels het bundelen van inkoopvolume en het creëren van synergie met en tussen de groothandels en leveranciers, met scherpe inkoopprijzen, goede handelscondities en gerichte dienstverlening als resultaat” Zij werken voor MKB klanten. Deze werkgever heeft veel verschillende projecten. Houd jij van afwisseling? Dan zit je bij hun goed! De branche van dit

Bekijk vacature »

Senior .NET Ontwikkelaar

In het kort Als Senior .NET ontwikkelaar ga je binnen onze business unit Transport en Logistiek aan de slag met complexe maatwerk software voor bedrijf kritische systemen binnen de technische automatisering. Denk bijvoorbeeld een IoT-oplossing voor de logistieke sector waarbij we van ruim 200.000 machines de telemetrie en events verwerken. We zijn actief in de distributielogistiek, havenlogistiek (denk aan ECT) en productielogistiek. Naast C# en .NET Core maken we ook gebruik van Azure technologie. En als trotse Microsoft Gold Partner leren we graag van en met jou. Wil jij jezelf blijven ontwikkelen binnen de technische automatisering met .NET, dan gaan

Bekijk vacature »

Medior Front-end Developer

Bij Getnoticed doen wij wat we leuk vinden, websites bouwen en online marketing. Voor veel van onze klanten doen we dan ook allebei. Wel zo fijn om campagnes te draaien voor conversiegerichte websites die in eigen beheer zijn. In onze vestiging in Nederweert zit onze development afdeling en worden de websites gebouwd. Op dit moment zijn we op zoek naar jou: dé Medior Front-end Developer die net als wij, het hoofd boven het maaiveld durft uit te steken! In het kort Even een paar punten die omschrijven wat deze toffe baan inhoudt: Het uitwerken van designs tot functionele layouts Je

Bekijk vacature »

Low Code Developer - Consultant

Functie omschrijving Wil jij fungeren als een spin in het web en samenwerken met klanten? Voor een leuke en interessante opdrachtgever in omgeving Leiden zijn wij op zoek naar een Low Code developer die zich bezig gaat houden met het optimaliseren van bedrijfsprocessen bij klanten en het leiden van projecten. Ben jij toe aan een nieuwe uitdaging en heb jij verstand van datamodellering en NO CODE Platformen? Lees dan snel verder! Bij deze rol horen de volgende werkzaamheden: Je gaat geen code kloppen maar bedenken hoe applicaties eruit moet komen te zien. Je gaat werken met een non code platform,

Bekijk vacature »

Senior pega developer

You work on software that makes colleagues and customers happy! Thanks to your IT skills, De Mandemakers Groep really makes a difference for its customers. Do coding, testing and deployments make your heart beat faster? Then apply today as Senior Pega Developer at De Mandemakers Groep! Wat ga je doen? The job title gives it away: You will be developing Pega software. This ranges from technical design, coding and testing to test automation, deployments and bug fixing. Your goal is to continuously improve our systems so that colleagues can work efficiently and customers receive optimal service. You don't have to

Bekijk vacature »

Leidinggevend Full Stack Developer

Hé jij, nieuwe Pinkcuber! Ga aan de slag bij Pinkcube, online leverancier van promotieartikelen! Een innovatieve organisatie waar extra stappen zetten voor klanten de normaalste zaak van de wereld is. Ambitieus zijn we ook. ‘Naoberschap’ staat bij Pinkcube hoog in het vaandel; we helpen elkaar en iedereen is welkom. Pinkcube is Great Place to Work Certified, erkend leerbedrijf, maatschappelijk betrokken partner van stichting Present en partner van CliniClowns. En misschien wel jouw nieuwe werkgever. Wij zoeken namelijk een enthousiaste: Leidinggevend Full Stack Developer (40 uur, medior/senior) Ben jij klaar om baanbrekende ideeën tot leven te brengen en deel uit te

Bekijk vacature »

Front-end developer

Functie Jij komt te werken in een team van 5 developers. het product is continue in beweging. Nieuwe en bestaande klanten vragen om vaak nieuwe features. Hierin ben jij zeer belangrijk om te zorgen dat de functionaliteiten goed opgezet worden op technisch vlak. Designs krijg je aangeleverd van een externe partij zodat jij je primair kan focussen op de techniek! Je hebt daarbij alle vrijheid om je eigen creativiteit toe te passen en mee te denken over de gebruikte technieken. Het gezamenlijke doel is een product dat functioneel zeer gebruiksvriendelijk is en het bedrijfsproces van de gebruikers versneld en kwalitatief

Bekijk vacature »

Dynamische Oracle/APEX Ontwikkelaar in de logistie

Bedrijfsomschrijving De organisatie in de regio Rotterdam is gespecialiseerd in het ontwikkelen van moderne webbased software voor de ERP branche. In totaal is er 20FTE aan specialisten actief binnen de organisatie. De ICT afdeling bestaat momenteel uit 15FTE. Ze groeien ontzettend hard en daarom zoeken zij een Oracle/APEX Developer die het reeds sterke team nog sterker komt maken. Hier werken ze op projectbasis voor verschillende grote organisaties in de logistieke sector. Het is een informele organisatie waarbinnen een fijne werksfeer heerst. Zoals aangegeven willen ze het team nog sterker maken en daarvoor zoeken ze bij voorkeur medior of senior Oracle/APEX

Bekijk vacature »

Cloud Developer

Cloud Developers opgelet! Bij Luminis zijn ze opzoek naar jou. Lees de vacature en solliciteer direct. Luminis is een software- en technologiebedrijf met meerdere vestigingen. Vanuit deze vestigingen werken 200 professionals aan technisch hoogwaardige oplossingen voor klanten zoals KLM, Nike en Bol.com. Ook ontwikkelt Luminis eigen oplossingen op het gebied van cloud, Internet of Things, data intelligence, e-sports en e-learning. Luminis onderscheidt zich door aantoonbaar voorop te lopen in technologie en innovatie. Luminis heeft drie kernpunten die verankerd zitten in alles wat we doen: het omarmen van nieuwe technologie, meesterschap en kennis delen. Functiebeschrijving First things first! Het is belangrijk

Bekijk vacature »

.NET developer

Functie Als .NET developer start jij in een ontwikkelteam met 15 developers en twee testers. Samen zijn jullie verantwoordelijk voor financiële applicaties met meer dan 50.000 gebruikers. Een deel van het team is verantwoordelijk voor de webapplicaties van deze organisatie. Ook zijn er twee app ontwikkelaars werkzaam in het team die zich focussen op de mobiele applicatie. Als .NET ontwikkelaar ga jij aan de slag met de webapplicaties van deze organisatie. Hierbij maak jij o.a. gebruik van C# .NET, ASP.NET, T-SQL, Angular en TypeScript. De nadruk van jouw functie ligt wel op de backend van de applicatie. Wat jouw functie

Bekijk vacature »

Back-end Developer C#

Functie omschrijving We are looking for a dutch native speaker Ben jij een ervaren back-end developer, die graag in een in-house functie wil werken? Passen de woorden innovatie, programmeren en teamspeler bij jou? Zoek niet verder en lees snel verder. Voor een echt familiebedrijf in de regio van Uden ben ik op zoek naar een back-end developer, die met name kennis heeft van C# en .NET. Jij gaat de interne applicaties verder optimaliseren en nieuwe features ontwikkelen. Verder ga je de volgende werkzaamheden uitvoeren: Ondersteunen gebruikers; Uitvoeren van analyses van de software/applicaties; Maken van functionele ontwerpen en deze door vertalen

Bekijk vacature »

Laravel developer

Zie jij mogelijkheden om onze tooling technisch te verbeteren en uit te bouwen? Over Jobmatix Jobmatix is een innovatieve en internationale speler op het gebied van jobmarketing. Onze jobmarketing automation tool helpt organisaties bij het aantrekken van nieuw talent door vacatures digitaal, geautomatiseerd en op een efficiënte manier te adverteren en onder de aandacht te brengen bij de doelgroep op 25+ jobboards. Volledig performance-based, waarbij organisaties betalen op basis van cost per click of cost per applicant. Maandelijks wordt onze jobmarketing automation tool al gebruikt door vele directe werkgevers, intermediairs en mediabureaus, waaronder Picnic, Rijkswaterstaat, AdverOnline, Schiphol, DPA, Teleperformance en

Bekijk vacature »
D B

D B

29/05/2015 10:46:56
Quote Anchor link
Hallo,

Ben ondertussen een heel eind verder met mijn Fotogallerij.

Ik loop tegen 2 dingen aan.

1) Omdat ik met JSON werk komt mijn volgorde van albums/foto's niet goed terug.
2) Ik wil een pagina-indeling maken voor bijvoorbeeld 15 foto's per pagina. Onderaan het script probeer ik dit te doen, maar ergens door de functieoproep MakePage en MakePageComplete werkt het script niet meer.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
function loader(){
    $('#list').remove();
    var list = $("<section\/>")
               .attr("id", "list");
    var $loaderdiv = $("<div\/>")
                    .attr("id", "loaderdiv")
                    .attr("class", "loaderdiv");
    var $loader = $("<img\/>")
            .attr("alt", "Loading...")
                  .attr("id", "loader")
                  .attr("src", "http://www.zscwesterhoven.nl/images/ajax-loader.gif");
    $('#contentframe').append(list.append($loaderdiv.append($loader)));
}

function GetAlbums(key){
    loader();
    $.getJSON("https://api.flickr.com/services/rest/?method=flickr.photosets.getList&api_key=" + key + "&user_id=133322121@N07&format=json&jsoncallback=?", function(setdata) {
        $.each(setdata.photosets.photoset, function(a, set) {
            var $linka = $("<a/>")
                .attr("href", "http://www.flickr.com/photos/mjryall/sets/" + set.id)
                .attr("title", set.title._content + ' (' + set.description._content + ')')
                .attr("target", "_blank");
            var $link = $("<a/>")
                .attr("href", "#")
                .attr("title", set.title._content + ' (' + set.description._content + ')')
                .attr("onclick", "javascript:GetFotos('" + set.id + "','" + key + "','" + 1 + "');");
            var $album = $('<div\/>')
        .attr("class", "album");
        var $albumtitle = $('<div\/>')
            .attr("class", "albumtitle")
        .text(set.title._content);
        var $albumdescription = $('<div\/>')
        .attr("class", "albumdescription")
        .text(set.description._content);
            var $albumphotos = $('<div\/>')
        .attr("class", "albumphotos")
        .text(set.photos + " foto's");
        var $albumviews = $('<div\/>')
        .attr("class", "albumviews")
        .text(set.count_views + "x bekeken");

            $.getJSON("https://api.flickr.com/services/rest/?method=flickr.photos.getInfo&api_key=" + key + "&photo_id=" + set.primary + "&format=json&jsoncallback=?", function(albumdata) {
        var $coveroverlaybottom = $('<div\/>')
            .attr("class", "coveroverlaybottom");
        var $coveroverlaytop = $('<div\/>')
            .attr("class", "coveroverlaytop");
            var $albumcover = $('<div\/>')
            .attr("class", "albumcover");
                var $coverimage = $('<img\/>')
                    .attr("src", "https://farm" + albumdata.photo.farm + ".staticflickr.com/" + albumdata.photo.server + "/" + albumdata.photo.id + "_" + albumdata.photo.secret + "_q.jpg")
                    .attr("alt",albumdata.photo.description._content)
                    .attr("class","photoalbum");
                var li = $album.append($link.append($albumcover.append($coverimage)).append($coveroverlaybottom.append($albumdescription).append($albumphotos).append($albumviews)).append($coveroverlaytop.append($albumtitle)));
        MakePage(li);
            });
        });
    });
    MakePageComplete();
}

function GetFotos(id,key,page){
    loader();
    $.getJSON("https://api.flickr.com/services/rest/?method=flickr.photosets.getPhotos&api_key=" + key + "&photoset_id=" + id + "&format=json&jsoncallback=?", function(photoalbumdata) {
        $.each(photoalbumdata.photoset.photo, function(b, photodata) {
            var $photo = $('<div\/>')
                        .attr("class", "photo");
            var $photocover = $('<div\/>')
                            .attr("class","photocover");
            $.getJSON("https://api.flickr.com/services/rest/?method=flickr.photos.getInfo&api_key=" + key + "&photo_id=" + photodata.id + "&format=json&jsoncallback=?", function(photo) {
                var $photoimage = $('<img\/>')
                            .attr("src", "https://farm" + photo.photo.farm + ".staticflickr.com/" + photo.photo.server + "/" + photo.photo.id + "_" + photo.photo.secret + "_q.jpg")
                            .attr("alt","")
                            .attr("class","photo");
                var li = $photo.append($photo.append($photocover.append($photoimage)));
        MakePage(li);
            });
        });
    });
    MakePageComplete();
}

function MakePage(li){
    //Hier wil ik een pagina opdeling gaan maken om de 15 foto's een <div class="pagina1...pagina2"> ofzoiets
    var $link = li;
}
function MakePageComplete(){
    $('#loaderdiv').remove();
        $('#list').append(link);
}


Mijn testpagina: http://www.zscwesterhoven.nl/fotostest.php

Alvast bedankt voor de hulp!
 
PHP hulp

PHP hulp

05/11/2024 11:30:39
 
Thomas van den Heuvel

Thomas van den Heuvel

29/05/2015 13:28:19
Quote Anchor link
Ik zou eens wat tools gaan installeren / gebruiken voor debugging.

Ik heb zojuist gekeken in:
Firefox: F12 > Console > all
IE: F12 > Debugger (misschien moet je op de "play" knop drukken om dingen te tracken)
Chrome: F12 > Console

Deze geven alle direct (of na een refresh als je de console hebt geopend) deze foutmelding weer...

Je script loopt vast omdat link (regel 88) ongedefineerd is.

Daarnaast: tijd om eens een stapje terug te doen. Wat ben je aan het doen: je raadpleegt continu een API voor het opvragen van informatie omtrent foto's / fotoalbums.

Hoe vaak verandert de samenstelling van de (inhoud van de) albums? Je zou de resultaten van de "vragen" die je stelt via de API ook kunnen cachen in lokale database-tabellen. Dit heeft twee voordelen:

- je kunt deze data rechtstreeks via PHP-code manipuleren in plaats van een hele zwik JavaScript te schrijven, waarbij je alles op elkaar moet afstemmen in verband met de aard van je requests (asynchroon, zie andere thread over dit onderwerp)
- je hoeft de API niet elke keer (elke page access) aan te roepen, dit zou je bijvoorbeeld op gezette tijden via een cronjob / bijbehorend "importscript" kunnen doen

Ik zou ff een bezinningsmoment inlassen om te kijken of er misschien niet een andere/eenvoudigere oplossing is voor wat je probeert te bereiken.
 
D B

D B

29/05/2015 15:31:50
Quote Anchor link
Hallo Thomas,

Je hebt inderdaad gelijk dat ik beter een cache/cronjob kan gebruiken. Dit zal ik later inderdaad ook aanpassen.

Maar toch vraag ik me af waarom het nu zo niet werkt. Ik had inderdaad gezien dat ik de foutmelding link niet gedefineerd kreeg. Maar kun je mij uitleggen wat ik hierin dan fout doe? Ik gebruik namelijk eerst MakePage dan zou hij li in link moeten zetten (dit doe ik omdat ik hier nog pagina's omheen zou willen bouwen) en daarna MakePageComplete, maar daar lijkt hij dus het variabel weer kwijt te zijn?

Of heeft dit misschien ook te maken met de reactietijd in JSON en het javascript wat gewoon doorloopt?
 
D B

D B

30/05/2015 17:15:01
Quote Anchor link
Ondertussen toch wel heel benieuwd geworden hoe ik dit dan het beste weg kan schrijven naar een eigen database tabel. Kan iemand mij vertellen hoe ik dit het beste doe?
 
Johan K

Johan K

31/05/2015 00:45:38
Quote Anchor link
Javascript draait op de gebruikers computer en niet op jouw webserver, dat betekend dat jouw webserver nog geen eens weet wat er gebeurd met die images dus laat staan om dit uberhoubt met javascript te doen (hoewel het mogelijk is)

Zoals Thomas vermeld zou cronjobs een oplossing kunnen bieden. Het vereist wel dat je de mogelijkheid hebt om cronjobs uit te kunnen voeren op de server. In Windows kan je dit vertalen naar "Scedualed tasks". Hier kan je documentatie van vinden over het internet aangezien het besturings systeem verschillend is.

Heb je deze toegang niet, zou je een script in PHP kunnen schrijven of vinden op internet die deze functie emuleerd met behulp van een database of file aanmaakt om te kijken wanneer dit voor het laatst is gedaan.
Daarbij moet je ook toegang hebben op je webserver om URL's te openen, bij sommige webhostings staat dit uit en kan je dit ook niet aanzetten. Eventueel zou je dan nog kunnen kijken of cURL werkt op jouw webserver maar is het wat lastiger in gebruikt.

Als je buiten die boot valt zou het wel met ajax moeten en dit verwerken in een post waarbij je de gegevens upload naar je server ten koste van de user die op jouw website komt.

Kortom, het ligt volledig aan jouw situatie wat jouw "beste" oplossing is.
Gewijzigd op 31/05/2015 00:47:15 door Johan K
 
D B

D B

31/05/2015 09:03:52
Quote Anchor link
Hallo Johan,

Ik kan inderdaad cronjobs uitvoeren, maar dan zal ik toch nog via JSON de gegevens uit de API moeten verkrijgen?

Wat ik eigenlijk meer afvraag is, wat doe ik met deze gegevens. Hoe zou ik deze weg kunnen schrijven in mijn database zodat ik alle gegevens heb die ik later nodig heb om aan de websitebezoekers te tonen?

Toevoeging op 31/05/2015 21:56:26:

Iemand die me uit kan leggen hoe ik de gegevens het beste uit de API krijg en weg kan schrijven naar een database?

Ik dacht zelf om de request voor de album lijst uit te voeren en dan per album is in mijn database kijken of deze bestaat en dan van daaruit inladen, mocht ie niet bestaan dan een request uitvoeren en in tabel wegschrijven.

Als laatste voer ik iedere 24 uur een cronjob uit die mijn albumlijst tabel leeggooid, zodat ik alles 1x per dag update.

Is dit een manier om dit in de praktijk te doen?
Gewijzigd op 31/05/2015 21:57:04 door D B
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.