Problemen Fotogallerij

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Digital Agency is looking for PHP developers!

Functie The team currently has 20 colleagues, consisting of developers (front and backend) and the operations team, which also includes management and two scrum masters. They are looking for a PHP developer who is able to work independently. You will work in one of the three scrum teams and start working on a project for the customer. The interesting thing about this is that you do have variety in terms of work, but at the same time continuously work for existing customers. This also gives you the opportunity to really go into depth and develop innovative technical solutions. In terms

Bekijk vacature »

.NET developer

Functie Als ervaren .NET ontwikkelaar ontbreekt er aan passie en motivatie niks. Jij bent communicatief sterk en pakt iedere uitdaging dan ook met beide handen aan. Op projectbasis ga jij met je team of met enkele andere ontwikkelaars intern aan de slag bij diverse partners. Op basis van het project ga jij aan de slag en zijn de werkzaamheden en technieken erg divers. Jouw werkgever stelt jouw ontwikkeling hierin voorop, zo krijg je een vast vertrouwenspersoon die één keer in de maand op locatie van jouw project zal kijken hoe het gaat en of er eventuele aandachtspunten zijn. Daarnaast krijg

Bekijk vacature »

React developer Inhouse cloudplatform

Functie De functie: Als front-end developer kom je te werken naast 2 andere front-end/React developers, waaronder één senior. Een hele mooie kans dus om in korte tijd veel nieuwe kennis en ervaring op te doen. Ze hebben momenteel veel werk hierin en daarom willen ze het team graag uitbreiden. Het is van belang dat je, zeker gezien het vele thuiswerken, in ieder geval al een aantal projecten hebt gedaan in React. Taken waar je aan kunt denken zijn het ontwikkelen van client-applicaties o.b.v. HTML5, React en andere open standaarden. Ook ben je nauw betrokken bij het implementeren van designs o.b.v.

Bekijk vacature »

Backend developer

Functie omschrijving Ben jij graag bezig met de back-end van applicaties? Zou je dit graag willen doen voor een kleine werkgever waar ook tijd is voor een drankje op zijn tijd? Je taken hierbij zullen bestaan uit: Gebruik maken van de volgende technieken: .NET (core), C#, SQL, XML, MVC, JSON, REST & SOAP API. Gebruik maken van de volgende tools: Visual Studio, GIT, Jira, Jenkins. Bovengenoemde technieken en tools ga je gebruiken om: Nieuwe functionaliteiten te ontwikkelen. Wijzigingsverzoeken van klanten uitvoeren. Verzorgen van koppelingen tussen data. Bedrijfsprofiel Jouw nieuwe werkgever bevindt zich in regio Raamdonksveer en bieden oplossingen op gebied

Bekijk vacature »

Frontend Developer - Leeuwarden

Als Frontend Developer bouw jij mee aan het onderwijs van de toekomst! In een scrum team werken met jonge en enthousiaste collega’s, moderne technieken, ruimte voor eigen ontwikkeling en op een proactieve wijze kunnen meewerken aan innovatie binnen het onderwijs. Magister is het state-of-the-art softwarepakket dat scholen in het voortgezet onderwijs op alle fronten ontzorgt. Van leerlingenadministratie tot het ondersteunen van individuele leerlijnen, van toegang tot digitaal lesmateriaal tot het plannen van het lesrooster. In de Magister app bedient Magister ruim 2,5 miljoen gebruikers waarvan, dagelijks meer dan 600.000 unieke. Hiermee is Magister de absolute marktleider in onderwijsland. Wat vragen

Bekijk vacature »

Network Engineer (f/m/d) in Heidelberg

Network Engineer (f/m/d) The IT Services team operates and supports the IT infrastructure and services at EMBL headquarters in Heidelberg and at the laboratory’s sites in Barcelona and Rome. As part of IT Services, the Network team is responsible for managing and developing the network infrastructure in our data centres, on campus, and to our external network providers. As a leading scientific institution with highly data-intensive research, extensive data flows at and between the laboratory’s six sites and to the Internet, EMBL is connected to national and international scientific networks using state-of-the-art technologies from vendors including Cisco, Extreme Networks and

Bekijk vacature »

Back-end developer

Dit ga je doen Development d.m.v. XQuery, JSON/XML en REST API's; Ontwikkelen aan een tof en complex zorgplatform; Koppelingen maken met de NoSQL database; Testen en documenteren van de ontwikkelde functionaliteiten; Samenwerking met andere front- en back-end ontwikkelaars. Hier ga je werken Voor een vooruitstrevende organisatie binnen de zorg in Den Haag zijn wij opzoek naar een Back-end Developer die ervaring heeft met o.a.XQuery en Vue.JS of daarin graag zou willen ontwikkelen. Je zal ontwikkelen aan een tof en complex zorgplatform en koppelingen maken met de NoSQL database. Ook het testen en documenteren van de ontwikkelde functionaliteiten behoort tot jouw

Bekijk vacature »

.NET developer

Functie Als ervaren .NET ontwikkelaar start jij een team met 12 programmeurs. Jullie zijn verantwoordelijk voor het huidige platform van deze organisatie. Als team werken jullie in tweewekelijkse sprints en starten jullie iedere dag met een stand-up. Jij werkt samen met jouw team aan het uitbreiden van het huidige platform door middel van nieuwe features. Daarnaast zorg jij er samen met jouw team voor dat het platform veilig is en gebruiken jullie de nieuwste technieken om deze veiligheid te waarborgen. Zo maken jullie gebruik van C# .NET, .NET Core, React, Azure, Kubernetes, ASP.NET, MVC. Jij gaat aan het werk in

Bekijk vacature »

Junior PHP (Laravel) Developer

Functie omschrijving Wij zijn op zoek naar een PHP Laravel Developer! Sta je aan het begin van je carrière en ben je op zoek naar een leuke baan? Lees dan verder! Voor een softwarebedrijf in omgeving van Schiphol zijn wij op zoek naar een ervaren PHP (Laravel) Developer. Je gaat je bezighouden met het ontwikkelen van innovatieve bedrijfsapplicaties. Samen met het team, bestaande uit designers en developers, maak je mooie oplossingen voor bedrijven in diverse branches. Je zorgt dat de opgeleverde websites perfect werken en de klant meer dan tevreden is. Je kunt rekenen op een afwisselende baan met leuke

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

.NET Developer

Functie omschrijving Jij gaat in de functie van Software Developer werken met C# en .NET framework. Jij gaat maatwerk software ontwikkelen en softwareoplossingen creëren. Daarnaast optimaliseer je de bestaande software. Oplossingen waar de klant echt iets aan heeft, jij krijgt er energie van op dit te realiseren. Je gaat werken in een Microsoft omgeving(ASP.NET) en gebruikt daarnaast C# en MVC. Samen met het huidige IT team binnen deze organisatie verwerk je de wensen van de klant tot een (eind)product. Bedrijfsprofiel Je komt te werken in een klein team van developers, die zich voornamelijk bezighouden met back-end development. Verder staat dit

Bekijk vacature »

Junior PHP Developer

Functieomschrijving Junior PHP Developer gezocht! Voor een opdrachtgever in de regio Gelderland zijn wij op zoek naar een Junior PHP Developer die onderdeel gaat worden van het ontwikkelingsteam van deze organisatie. In deze functie ga jij aan de slag met het schrijven van software voor de aansturing van en het managen van windparken en bijbehorende onderdelen. Hiernaast ga jij je bezighouden met het ontwikkelen, testen en onderhouden van diverse webapplicaties. Het team waarin je komt te werken bestaat uit 3 developers, hierdoor krijg je veel verantwoordelijkheid en de kans om jezelf verder te ontwikkelen. Er wordt echter wel van je

Bekijk vacature »

Software Programmeur PHP - JAVA

Functie Wil jij bij een platte en informele organisatie werken? Lees dan snel verder! Voor een opdrachtgever in omgeving Rotterdam dat zich gespecialiseerd heeft in het realiseren van veilige netwerkverbindingen zijn wij op zoek naar een leuke software developer ter versterking van het huidige team. Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen PHP, JAVA en Node.js. Je gaat klanten ondersteunen op het gebied van geleverde software en webapplicaties. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn

Bekijk vacature »

Medior PHP 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 website die in eigen beheer zijn. In onze vestiging in Nederweert zitten onze development afdelingen en worden de websites gebouwd. Op dit moment zijn we op zoek naar jou: dé PHP/Back-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 bedenken van nieuwe functionaliteiten Het verbeteren van het

Bekijk vacature »

Medior PHP Developer

Functie omschrijving Ben jij een getalenteerde PHP Developer en aan de slag in een gemotiveerd team? Lees dan snel verder! Voor onze opdrachtgever in de omgeving van Valkenswaard zijn we op zoek naar een ervaren PHP developer. Jij gaat hier zorg dragen voor het optimaliseren en up-to-date houden van de bestaande applicaties. Je werkt verder aan de applicaties die jij verder ontwikkelt. Dit doe je voornamelijk met PHP en MySQL. Verder ga je je bezig houden met: Het uitbouwen van het E-commerce software platform. Deelnemen aan overleggen met het team. Het ondersteunen van jouw team developers (3 man) en helpen

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

27/04/2024 15:57:54
 
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.