Problemen Fotogallerij

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior .NET Developer I goed salaris en deels thui

Bedrijfsomschrijving Mijn opdrachtgever is al ruim 20 jaar een gevestigde naam in de wereld van software ontwikkeling, met drie kantoren in de Randstad, waaronder Alphen aan den Rijn. Zij richten zich op het bouwen van IT-oplossingen die ervoor zorgen dat de productiviteit van klanten te allen tijden optimaal is. Hiervoor neemt jouw nieuwe werkgever het volledige ontwikkelproces tot haar rekening; van het eerste gesprek om de klantwensen in kaart te brengen, tot aan het uiteindelijke onderhoud van de opgeleverde oplossing. In totaal werken er inmiddels bijna 200 gemotiveerde IT-ers binnen deze organisatie. De gemiddelde leeftijd ligt rond de 35. Het

Bekijk vacature »

Front-end developer Consultancy in teamverband wer

Functie Het team bestaat uit User Experience designers, Data Scientists en Software Engineers. Momenteel zijn ze op zoek naar een ervaren Front-end of Fullstack developer die samen met de consultants aan de slag gaat om de business requirements te vertalen naar technische oplossingen. Los van het finetunen van extenties, help je bij het configureren van bijvoorbeeld een mobiel bankieren app. Hierin ben je van A tot Z betrokken en zie je bijvoorbeeld ook toe op de uitvoering van testen. Je expertise wordt optimaal benut en je krijgt verschillende kansen om deze uit te breiden door met verschillende innovatieve technologieën aan

Bekijk vacature »

Full stack Python developer

Functie Samen met andere collega’s (een product owner, een software manager en een ervaren ontwikkelaar) ga jij onze producten verder ontwikkelen. Jouw verantwoordelijkheden zullen bestaan uit: – Verder wil gaan met de ontwikkeling van onze bestaande producten; nieuwe features! – Meedenkt over de roadmap van onze producten – Als sparringpartner kan optreden op het gebied van development – Zelf ook nieuwe ideeën op tafel durft te leggen en deze van scratch af aan wilt bouwen Hieronder ook een paar voorbeelden van projecten waar we momenteel mee bezig zijn of binnenkort aan willen beginnen: – Real-time interactie creëren in onze web

Bekijk vacature »

Senior PHP developer

Functie Als Senior PHP developer heb je een sterke mening over de architectuur van projecten en de processen binnen het team. Je bent de sparringpartner voor je Team Lead. Ook ondersteun je met jouw kennis de minder ervaren developers in jouw team. Ze werken regelmatig aan projecten vanaf scratch en dit geeft ruimte om voor nieuwe technieken te kiezen. Naast het ontwikkelen van software ben je continue bezig om ook jezelf te ontwikkelen. Ze werken met o.a.: PHP, Laravel, Doctrine, PHP Unit, Behat, React, TypeScript, (My)SQL, Postgress, Redis, ElasticSearch, Docker, Nginx, GIT flow, JIRA, AWS. Eisen • HBO werk- en

Bekijk vacature »

Ervaren Software Developer

Functie omschrijving Ben jij een ervaren Software Developer, en heb je ervaring met technieken zoals C#, MS Access & SQL? Vind jij het leuk om maatwerk software te ontwikkelen voor klanten in een specifieke branche? Dan is dit de baan voor jou! Als ontwikkelaar ben jij samen met een team van 12 collega’s verantwoordelijk voor het bouwen van nieuwe functionaliteiten en het uitbreiden van de core applicatie. Belangrijk is dat je ervaring hebt met C# en MS Access. Je bent flexibel en klantvriendelijk ingesteld, omdat het belangrijk is om de klanten zo goed mogelijk van dienst te kunnen zijn. Thuiswerken

Bekijk vacature »

OutSystems developer

Dit ga je doen Klanten adviseren over de mogelijkheden van OutSystems; OutSystems oplossingen ontwikkelen en implementeren; Stakeholdermanagement; Kennis en expertise up to date houden en delen met het team. Hier ga je werken Onze opdrachtgever, gevestigd in regio Amsterdam, is een innovatieve dienstverlener die zich richt op grote corporates in verschillende sectoren. Doordat je bij veel verschillende klanten aan de slag zal gaan is geen enkel project hetzelfde. De organisatie kenmerkt zich door hoge mate van professionaliteit en innovatieve oplossingen. In de rol van OutSystems developer zal jij verschillende grote klanten helpen om efficiënte OutSystems oplossingen te ontwikkelen en implementeren.

Bekijk vacature »

.NET developer

Functie Als .NET ontwikkelaar ga jij aan de slag bij een van onze klanten actief in de High Tech Industrie. Onze klanten zijn voornamelijk gelokaliseerd in de omgeving van Eindhoven. Wij zijn erg selectief als het gaat om de projecten die wij accepteren en richten ons dan ook alleen op innovatieve en complexe projecten. Omdat onze klanten voornamelijk gespecialiseerd zijn in de machinebouw, werk jij ook vaak dicht tegen de machines aan. Ons team bestaat momenteel uit Embedded engineers, IOT developers en Cloud engineers. Wij werken voornamelijk aan Microsoft projecten waar er gebruik wordt gemaakt van WPF, UWP, .NET Core

Bekijk vacature »

Trainee pega developer

Wil jij een mooie stap maken in jouw carrière? Mooi! Bij De Mandemakers Groep haal je binnen 6 maanden je CSA- en CSSA-certificaten, waarna jij aan de slag kan als Pega-developer in ons IT-team. Achter de schermen zorg jij ervoor dat collega’s efficiënt werken en klanten iedere dag beter geholpen worden. Wil jij daaraan bijdragen? En jouw ICT-skills ontwikkelen? Lees dan snel verder en solliciteer vandaag nog als trainee Pega-developer. Wat ga je doen? Als trainee Pega developer leiden wij je op tot gecertificeerd software developer voor het low-code platform PegaSystems. In de training ben je verantwoordelijk voor een te

Bekijk vacature »

Front End Developer React Vue

Dit ga je doen Meewerken aan de implementaties en ontwikkeling van nieuwe functionaliteiten van de webapplicaties; Ontwikkelen met o.a. React en Vue en HTML/CSS, ook krijg je in verband met de samenwerking ook affiniteit met de backend Ruby on Rails; Ontwikkeling aan de front end voor de koppelingen tussen de diverse systemen; Ontwerpen van interfaces en een bijdrage leveren aan de gebruikerservaring; Zorgdragen voor hoge kwaliteit van code en jezelf (en anderen) blijven verbeteren; Als Senior Front End Developer begeleid je zelf ook FE-development projecten, hierin leid je de projecten en pak jij het initiatief op (bv integratieprojecten). Hier ga

Bekijk vacature »

SAP Integratie Ontwikkelaar

Ben jij ambitieus in de verdere ontwikkeling van SAP binnen HANOS, en heb je kennis van SAP PI, CPI (SAP integration suite) en of andere middleware tooling? Dan ben jij mogelijk onze nieuwe SAP Integratie (middleware) Ontwikkelaar! Lees snel verder en solliciteer! Wat ga je doen? Als SAP Financieel Consultant ben je, als deel van een gedreven team van interne SAP consultants, de schakel tussen de gebruikersorganisatie en ICT. Je draagt proactief bij aan een optimale aansluiting van de SAP-functionaliteit (een applicatielandschap met o.a. Suite on HANA, Fiori, Hybris, C4C en BO), op de bedrijfsprocessen. Verder ondersteun je de HANOS

Bekijk vacature »

Senior PHP developer

Functie Jouw werkzaamheden zullen grotendeels bestaan uit het in teamverband ontwerpen, vernieuwen en door ontwikkelen van het systeem. Het is echt back-end werk (bijvoorbeeld het doorontwikkelen van een API) en dit moet je dan ook liggen. Ze zijn niet persee gebonden aan talen of tools maar gebruiken graag de technieken die het beste aansluiten op de gegeven oplossing. Voor nieuwe (versies van) componenten maken ze veelal gebruik van Go(lang). Bij aanpassingen aan bestaande onderdelen gebeurt dit in PHP en C++. Het team is heel divers, er hangt een relaxte sfeer en ze organiseren regelmatig leuke music nights, game nights e.d.

Bekijk vacature »

Database Developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als Database Developer met MS SQL of een vergelijkbare database? Wil jij werken voor een gewaardeerde werkgever in regio Tilburg waar jij de tijd en ruimte krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je houdt je bezig met het creëren en bouwen van MS SQL server databases; Je gaat projecten vanaf het begin tot het eind begeleiden. Je sluit aan bij meetings met klanten om hun processen in kaart te brengen. Vervolgens voer jij het project uit en zorgt dat dit zo goed mogelijk verloopt; Je werkt

Bekijk vacature »

Junior .NET Software Developer

Dit ga je doen Software development met behulp van C# .NET en / of PHP, je mag zelf kiezen waar jij je in wil specialiseren Meedenken over het nieuwe pakket, waar moet het aan voldoen? Unit-, integratie- en diverse andere tests schrijven en uitvoeren Nauw samenwerken met je IT collega's zoals Testers, Developers, DevOps Specialisten en Architecten Jezelf ontwikkelen met behulp van trainingen en cursussen Hier ga je werken Onze klant, een grote speler in de medische sector, is op zoek naar een enthousiaste junior (of meer ervaren) Software Developer die klaar is voor een nieuwe stap in zijn of

Bekijk vacature »

Medior/senior Back-end developer gezocht!

Functie Vanwege de groei binnen het bedrijf zijn we op zoek naar versterking in het devlopmenttean. Als back-end developer bouw je aan de bedrijfssoftware die ons helpt bij de primaire processen. Een leuk (intern) project dus waarbij je de software continu doorontwikkeld! Je werkt in een klein team, we hebben dagelijks stand-ups en iedere twee weken een scrum-sessie, begeleid door onze Scrum Master. Hierin krijg je uitgebreid de kans om je ideeën te presenteren, en te overleggen met je mede-ontwikkelaars en de Product Owner. Binnen de ontwikkelteams gebruiken we Trello, Gitlab, Jiira, Confluence en Boockstack. Hiernaast werken ze met de

Bekijk vacature »

Lead developer (PHP, Symfony, DDD)

Functie Als Lead developer zorg je ervoor dat het team (bestaande uit zowel junior als ervaren developers) in staat is om de kwaliteit van de software (en code) verder te verhogen. In samenwerking met het team, de product owner en de andere lead developers zet je technische lijnen uit en bepaal je de prioriteiten per sprint. Lijkt het jou interessant om complexe problemen op te lossen en bijvoorbeeld een nieuwe applicatiestructuur in Symfony op te zetten? Dan komen wij graag met je in contact. Eisen • HBO werk- en denkniveau (ze kijken niet naar papieren, maar naar denkniveau, motivatie 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

26/12/2024 13:29:23
 
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.