Views tellen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software developer - C Sharp

Functie omschrijving Heb jij interesse in het programmeren en ontwikkelen van software? En heb jij enige ervaring met Oracle databases en PL/SQL? Wij zijn voor een leuke opdrachtgever in omgeving Naaldwijk op zoek naar een software ontwikkelaar die graag werkt met C#, JAVA of Oracle. Wij zoeken iemand die breed inzetbaar is en die aan veel verschillende applicaties wilt werken. Als software developer werk je met je collega's samen in een leuk en informeel team aan het (her)ontwerpen van bedrijfssystemen. Je houdt je bezig met het ontwikkelen van REST API's en je onderhoudt applicaties in Oracle PL/SQL en APEX. Vind

Bekijk vacature »

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

Bekijk vacature »

.NET Developer

Functie omschrijving In deze functie ga je werken als C# Developer. Jij gaat aan de slag met de volgende taken: Maatwerk software bouwen; Huidige softwareprojecten verder uitbouwen en optimaliseren; Ideeën van de klant omzetten naar handige oplossingen en tools; Bovenstaande doe je middels de Microsoft- stack: C#, ASP.NET en MVC/ Entity Framework. Ben je net afgestudeerd aan een HBO opleiding Informatica, aarzel dan niet om te solliciteren. Dit is namelijk de ideale startersfunctie! Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Het is van oorsprong een familiebedrijf, die gestart zijn met het bouwen van websites. Dit is door

Bekijk vacature »

Front-end developer - working on software for arou

Functie They have recently started looking for an experienced Front-end (mobile/app) developer. Because of the short lines within the team, they are also looking for someone who can communicate with the service desk, sales and support for technical questions. You will join their IT team consisting of about 10 colleagues divided over two teams in rooms opposite each other. Half of these are involved in their front-end. You will work together with, among others, the Architect, 1 senior, 1 junior and there is a Team Leader. In terms of technology, they work with a unique tech-stack, particularly because of the

Bekijk vacature »

Senior Developer ERP Dynamics 365

Samengevat: Deze werkgever is een softwarebedrijf. Ben jij een enthousiaste developer? Heb je ervaring met ERP of Dynamic 365 bussines central? Vaste baan: ERP Applicatie Specialist ERP MBO €3.600 - €5.200 Wij houden ons als bedrijf bezig met het leveren en implementeren van het Microsoft Dynamics pakket binnen verschillende industriële sectoren. Deze werkgever is een veelzijdige organisatie. Je werkt voor de eigen IT organisatie. Zij werken met moderne technologie en staan open voor innovatie. Binnen ons open team is er een no-nonsense cultuur. Daarnaast is er veel onderling contact door de korte communicatielijnen. Het team werkt enthousiast samen om een

Bekijk vacature »

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 »

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 »

Medior C# Developer

You'll build modern applications for Coolblue's back office. We have a lot of friends, and they crave well-structured data and user-friendly, task-focused applications. How do I become a Medior C# Developer at Coolblue? You regularly participate in brainstorm sessions about user experience, data, and task flow with the UX Designer, Product Owner, and Data Scientists in your team. Besides that you will create disconnected, highly congruent, and testable code that can easily be maintained and is future-proof. Want to become C# Developer at Coolblue? Read below if the job suits you. You enjoy doing this Working with various types of

Bekijk vacature »

Junior Outsystems developer

Functie Als junior Outsystems developer wordt jij onderdeel van een multidisciplinair team van 23 software engineers. Ons team werkt agile en termen als Continuous Integration en Continuous Delivery zijn bij ons dagelijkse koek. Wij werken aan uitdagende en afwisselende projecten met als doel onze klanten een totaal oplossing aan te bieden. Als junior Outsystems developer krijg jij bij ons de kans om jezelf te ontwikkelen naar een volwaardige ervaren en gecertificeerde Outsystems developer. Jij een team met ervaren mensen (10+ ervaring) om je heen. Zo heb jij niet het gevoel dat jij meteen in het diepe wordt gegooid en uiteraard

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 »

Senior Product Developer

Functieomschrijving Als senior Product Developer ben je verantwoordelijk voor bestaande mobiliteitsproducten en de ontwikkeling van nieuwe mobiliteitsconcepten. Met behulp van diverse klantonderzoeken, klantsessies en salesmeetings zorg je ervoor dat je de veranderende mobiliteitsbehoeften in de markt kent. Hier speel je op in door innovatieve, flexibele, efficiënte en duurzame vervoersoplossingen te bedenken, te ontwikkelen, te implementeren en uiteindelijk samen met Sales en Marketing collega’s in de markt te zetten. Je initieert en neemt deel aan (internationale en afdeling overschrijdende) projecten, vaak in de rol van projectleider. In die rol bewaak je de voortgang, coördineer je de activiteiten en zorg je voor

Bekijk vacature »

Senior Java developer

Als Senior Developer bij Sogeti ben je onderdeel van onze toonaangevende best-gecertificeerde Java community. Deze bestaat uit ruim 100 gepassioneerde professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze top-opdrachtgevers. Geen werkdag is hetzelfde! Je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfskritische systemen. Een voorbeeld hiervan is een cliënt-volgsysteem bij Reclassering Nederland. Andere klanten waar wij onder andere voor werken: KPN, Philips, Nationale-Nederlanden, Kamer van Koophandel, ABN AMRO, Bovemij, Aval en de Nationale Politie. Natuurlijk krijg jij de mogelijkheid je verder te certificeren in dit vakgebied. We

Bekijk vacature »

C#.NET Developer Jr. Functie

Functie omschrijving Bouw jij graag aan applicaties om processen in distributiecentra te optimaliseren? Wij zijn op zoek naar een C#.NET ontwikkelaar in regio Breda die hier graag een steentje aan bijdraagt! Jouw werkzaamheden zullen er als volgt uitzien: Je krijgt veel vrijheid in de keuze van de technieken die je gaat gebruiken. Uiteraard wel binnen de gestelde kaders, en door gebruik te maken van het .NET platform. Je gaat aan de slag met de ontwikkeling van een nieuwe module binnen de WMS suite van dit bedrijf. Deze "carrier" module gaat er voor zorgen dat de selectie van een vervoerder volledig

Bekijk vacature »

Java Developer

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

Typescript Developer / Cloud platform

Dit ga je doen (Door)Ontwikkelen van het cloud platform; (Door)Ontwikkelen van microservices; Bouwen van nieuwe functionaliteiten; Verbeteringen aandragen voor het cloud platform; Sparren met de business. Hier ga je werken Onze opdrachtgever, gevestigd in regio Eindhoven, levert een compleet dienstenpakket op het gebied van IT. Zij pakken verschillende (complexe) vraagstukken van grote organisaties op. De sfeer intern is gezellig en informeel. Men houdt van hard werken maar gezelligheid door middel van een borrel of gezamenlijke lunch komt er veel voor. Als Typescript ontwikkelaar word je onderdeel van het team gericht op de (door)ontwikkeling van hun eigen cloud platform welke wordt

Bekijk vacature »
Henk PHP

Henk PHP

25/09/2008 17:01:00
Quote Anchor link
Hey

Ik wil graag het aantal views van bepaalde pagina's/artikelen gaan bijhouden en probeer een beetje te bedenken hoe je dat het beste kan doen.

Je zou natuurlijk kunnen denken gewoon +1 in een views kolom maar dan kan iemand views gaan lopen krikken door telkens de pagina te vernieuwen.
Hoe kan ik beste het aantal views bijhouden?

Ideeën, tips, eigen evaringen?

Alvast bedankt!
 
PHP hulp

PHP hulp

26/04/2024 02:08:19
 
Eddy E

Eddy E

25/09/2008 17:21:00
Quote Anchor link
In een sessie bijhouden of de view al is geset?
Beetje dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if(!isset($_SESSION['views']][$pagina]))
 {

 mysql_query("UPDATE tabel ... .etc"); // Met foutafhandeling...
 $_SESSION['views'][$pagina] = true;
 }

?>


Kan je dus gewoon in je header downloaden.
Voor iedere pagina ($pagina) kan je dus apart de views bijhouden.
En ja: een gebruiker kan inderdaad de browser afsluiten en daarna terugkomen voor NOG een bezoek. Dat is niet/nauwelijks tegen te gaan.
Maar F5-en werkt niet.
 
Ivo K

Ivo K

25/09/2008 17:39:00
Quote Anchor link
kan je voor dat probleem van die afsluitende bezoeker niet tegen gaan door

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
<?php

$ip
= $_SERVER['REMOTE_ADDR'];

$sql = mysql_query('SELECT * FROM tabel');
while($res = mysql_fetch_array($sql))
{

     if($ip == $res['ip'])
     {

           $al_eerder_geweest = true;
      }

     else
     {
           $al_eerder_geweest = false;
      }
}


if($al_eerder_geweest == true)
{

mysql_query('UPDATE tabel SET timevisited = timevisited + 1');
}

else
{
mysql_query('INSERT INTO tabel(ip) VALUES("'.$ip.'")');
}



?>


of niet ?

Edit:

script aangepast
Gewijzigd op 01/01/1970 01:00:00 door Ivo K
 
Jelmer -

Jelmer -

25/09/2008 17:57:00
Quote Anchor link
Deels. Op die manier kan je inderdaad tellen hoeveel ip-adressen een pagina hebben bekeken (je tabel-structuur is nog niet helemaal geschikt voor meerdere pagina's, maar dat komt zo)

Nadeel (ja, die zijn er ook) is dat veel mensen 1 ip-adres delen. Denk bijvoorbeeld aan bedrijven en scholen. Met een beetje geluk deelt een hele scholengemeenschap één enkel ip-adres. Dus wanneer er 500 studenten zijn die individueel lekker met hun schoolcomputer of laptop op school jouw pagina aanroepen, zie jij het als slechts 1 view.

En dan zijn er nog de mensen die wisselen van IP. Bij die mensen verandert het ip-adres soms wanneer ze de router opnieuw starten, dus met een beetje geluk valt het aantal veranderingen mee. En daarnaast zou dit slechts 2 of 3 extra views van slechts enkele personen opleveren. Ik denk niet dat je je hier zorgen over hoeft te maken.

Nu terugkomend op die database-structuur; persoonlijk zou ik een tabel (bijv. "visitors") bijhouden met alle ip-adressen en welke pagina ze hebben opgevraagd, en geen UPDATE-query loslaten op de tabel met je pagina's. Via een query met COUNT() erin kan je dan het aantal bezoeken van een artikel ophalen door te tellen hoeveel ip-adressen in de tabel "visitors" de pagina op hebben gehaald. Je kan daarnaast ook meteen kijken hoeveel pagina's 1 ip-adres heeft opgevraagd :) En later, wanneer je site succesvol is, kan je het relatief gemakkelijk optimaliseren door te werken met truucjes waarbij je ervan profiteert dat een INSERT-query meestal lichter is dan een UPDATE-query. Én je kan misbruik terugdraaien door gewoon wat regels uit je visitors-tabel te gooien :)
 
Emmanuel Delay

Emmanuel Delay

25/09/2008 18:04:00
Quote Anchor link
Ja, ik zou het ook in een aparte tabel doen.
Later kan je alle statistieken maken die je wil. Meeste view per maand, ingelogden, ...
 
Eddy E

Eddy E

25/09/2008 18:15:00
Quote Anchor link
Je kan ook 2 regels javascript neerplakken... dat geeft Google-analystics ;).
Ps een paar views extra is geen probleem: immers, als 1 persoon de pagina 2x bekijkt, dan zijn dat toch ook 2 views?

Wat jij wilt is bezoekers tellen... en dat is wat anders dan views ;).
 
Henk PHP

Henk PHP

25/09/2008 18:19:00
Quote Anchor link
Nou eigenlijk views, maar iemand die 100 x op F5 drukt heeft niet 100 x iets bekeken.
 
Emmanuel Delay

Emmanuel Delay

25/09/2008 18:22:00
Quote Anchor link
Hou bij:
id, tijd, IP, pagina

Dan kan je later nog query's maken die rekening houden met wat je net zei.

Je hebt gelijk hoor. Ik hoorde ooit iemand zeggen:
Hits is de afkorting voor "How Idiots Translate Succes".
Gewijzigd op 01/01/1970 01:00:00 door Emmanuel Delay
 
Henk PHP

Henk PHP

25/09/2008 18:32:00
Quote Anchor link
Voor alle leden word het niet zo moeilijk om te zorgen dat ze niet F5'en, daar kan ik gewoon een userid meesturen en dan kijken hoelang geleden de laatste view was bijvoorbeeld en dan kan zou je bijvoorbeeld 1 view per dag kunnen stellen als maximum. Daar kan ik wel mee leven.

Voor de anonieme bezoekers weet ik niet of ik beter het ip-adres kan gebruiken - dat is immers niet echt uniek zoals jelmer zegt - of gewoon een sessie starten die ook 24 uren duurt en het sessionid gebruiken om te kijken hoe lang geleden de laatste view was. Dit valt wel weer te omzeilen door je cookie's te wissen maar het is iniedergeval omslachtiger voor de neppert dan om op F5 te drukken.
 
Eddy E

Eddy E

25/09/2008 18:43:00
Quote Anchor link
In je laatste alinea maak je een fout.
SESSIES zijn NIET hetzelfde als COOKIES!

Ik vind het nogal ver gaan om een hele grote tabel (denk aan: 1000 bezoekers per dag, gemiddeld 10 pagina's per persoon... is 10.000 records per dag erbij.... na een jaar... vat u hem?).
Gewoon 1 teller met 1 kolom met 1 record (of meerdere als je per pagina/artikel wil bijhouden).
Met SESSIES (en eventueel cookies, maar dat is alweer zo veel trager voor een bezoekersteller) werken moet voldoende zijn.

En zeg nou eens eerlijk: wie er zo stom om 100x zijn browser af te sluiten en weer op te starten om een pagina-view met 100 te vermeerderen?
En waarom zou ik niet 5x op een dag eendezelfde pagina (nieuwspagina van nu.nl oid?) kunnen bekijken?

Voor een teller als dit zou ik echt niet te moeilijk gaan doen.
Of gebruik GoogleAnalystics (vind ik erg goed!) OF hou het zelf bij met een simpel tellertje.
Maar om alle gebruikers te loggen.... dat vind ik totaal niet nodig.
 
Henk PHP

Henk PHP

25/09/2008 22:50:00
Quote Anchor link
Ik zeg nergens dat sessies hetzelfde zijn als cookies, dus doe niet net alsof ik achterlijk ben.
Als ik een sessie start dan word een cookie met PHPSESSID aangemaakt en je sessionid. Als die verwijdert wordt dan is je sessie weg.
Gewijzigd op 01/01/1970 01:00:00 door Henk PHP
 
Loran DP

Loran DP

25/09/2008 22:59:00
Quote Anchor link
Ik gebruik zelf het script van Robert Deiman:


http://www.phphulp.nl/php/scripts/3/1198/

Ik hoop dat je er wat aan hebt.
Gewijzigd op 01/01/1970 01:00:00 door Loran DP
 
Robert Deiman

Robert Deiman

25/09/2008 23:06:00
Quote Anchor link
Deze heb ik inderdaad wel geschreven, maar deze voldoet ook zeker niet aan jou eisen.. Dit script telt het totaal aantal bezoekers en niet het aantal views per pagina.
 
Henk PHP

Henk PHP

25/09/2008 23:06:00
Quote Anchor link
Ik vraag me ook af, als die tabel na een tijdje propvol zit, wordt het dan niet enorm traag om alles op de tellen en te selecteren? Is een rij per view niet nogal veel?
Gewijzigd op 01/01/1970 01:00:00 door Henk PHP
 
Jelmer -

Jelmer -

26/09/2008 00:00:00
Quote Anchor link
mwa, zou mee moeten vallen. Wanneer je een index op het juiste plekje hebt is het tellen geen probleem. Echter worden de INSERTS dan behoorlijk veel duurder, en voor een tabel die veel verandert (relatief veel inserts tov reads) is dat niet wat je wilt.

Het ligt er een beetje aan: Wil je dat het tellertje exact is, of mag hij ook een paar views achterlopen? Als hij niet heel precies hoeft te zijn kan je een soort van cache gebruiken die eens in de zoveel minuten wordt ververst waardoor het tellen relatief heel weinig gebeurt.

Maar dat soort optimalisaties zou ik pas uitvoeren wanneer er tekens zijn dat je server er moeite mee krijgt. Op dit moment is je site nog klein, neem ik aan, en hoeft de database amper moeite te doen. Het is wel handig om er nu vast rekening mee te houden maar zolang je je code een beetje netjes en je jezelf niet te veel herhaalt (en dus gebruik maakt van functies?) zou zo'n aanpassing later geen moeite moeten zijn.

Hamvraag is: wil je wat met de data, later of nu?
 
Emmanuel Delay

Emmanuel Delay

26/09/2008 09:20:00
Quote Anchor link
Je kan trouwens af en toe een backup nemen en de tabel legen vanaf een bepaalde tijd.
 
Frank -

Frank -

26/09/2008 09:35:00
Quote Anchor link
Henk schreef op 25.09.2008 23:06:
Ik vraag me ook af, als die tabel na een tijdje propvol zit, wordt het dan niet enorm traag om alles op de tellen en te selecteren? Is een rij per view niet nogal veel?
Wanneer je alles op bierviltjes wilt gaan bijhouden, dan is het wat veel. Wanneer je de boel in een database gaat bijhouden, stelt het niets null noppes nada voor. Hoeveel miljard records wil je gaan opslaan? 25 miljard? Geen probleem. Gebruik een BIGINT om de id's in op te slaan en je kunt bijna tot in eeuwigheid doorgaan.

Snelheid ligt meer aan de door jou gekozen indexen en de door jou opgestelde queries, dan die paar records die jij wilt opslaan. Gebrek aan snelheid duidt dan ook vaak op een gebrek aan SQL kennnis. Dat zijn dan ook de momenten om weer even in de handleidingen te duiken!

Emmanuel Delay schreef op 25.09.2008 18:22:
Hits is de afkorting voor "How Idiots Translate Succes".
Da's een fraaie!
 



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.