db datum probleem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Junior .NET developer

Functie Als junior .NET developer start jij in een development team met twee ervaren software ontwikkelaars. Jouw persoonlijke ontwikkeling is voor ons erg belangrijk en jij gaat dan ook meelopen met onze Senior .NET ontwikkelaar die jou met zijn kennis en ervaring een goede begeleiding kan aanbieden. Als team zijn jullie verantwoordelijk voor het schrijven van software voor onze toonaangevende Automatiseringssystemen. Jij gaat aan de slag met de onderhoud van de kernsoftware, ondersteund de software van derden door het gebruik van onze webservices en als team zijn jullie verantwoordelijk voor het ontwikkelen van onze backend oplossingen. Wij maken op dit

Bekijk vacature »

Software developer (PHP) - Utrecht centrum

Functie Ieder onderdeel van de software draait op aparte servers en het bestaat dus echt uit verschillende componenten. Het team bestaat uit 4 developers, een klein team dus met korte lijnen. Alles in intern ontwikkeld en je werkt aan alle facetten. Van uitbreiding van de core tot maatwerk voor de klant. Ook liggen er verschillende uitdagingen op servervlak en databases. Je zult de eerste periode veel samenwerken met de lead developer om vervolgens echt je gang te gaan binnen de software. In het team streven ze naast de hoogst haalbare kwaliteit. Hiervoor werken ze nauw met elkaar samen en levert

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 »

HBO startersfunctie .NET Ontwikkelaar

Functie omschrijving We are looking for a dutch native speaker Ben je in januari 2023 klaar met je HBO opleiding en zoek je een mooie uitdaging? Wacht niet langer en solliciteer direct! Voor een familiebedrijf in de regio van Boxtel ben ik op zoek naar een C#.NET Ontwikkelaar. Jij gaat aan de slag met de (door)ontwikkeling van de maatwerksoftware projecten en gaat ook nieuwe software bouwen, middels de Microsoft-stack. Het bedrijf maakt gebruik van de volgende technieken: C# & ASP.NET; MVC; MS SQL; Entity Framework; Je krijgt hier veel tijd om te leren en eventueel door te groeien en het

Bekijk vacature »

SQL Database developer

Functie omschrijving Wil jij meewerken aan het creëren van slimme software om magazijnen als een geoliede machine te laten lopen? Wij zoeken een zorgvuldig persoon, iemand die niet snel de hand omdraait voor complexe algoritmes. Denk jij dat jij de SQL ontwikkelaar bent die wij zoeken? Lees snel verder en wie weet zitten we binnenkort samen aan tafel! Jouw werkzaamheden zullen er als volgt uitzien: Je houdt je bezig met het ontwerpen en ontwikkelen van MS SQL server databases, dit doe je met T-SQL als programmeer laag. Je gaat aan high-end software oplossingen werken, dit doe je voor de optimalisatie

Bekijk vacature »

Front-end developer (medior/senior)

Functie Het team bestaat uit een architect, fullstack developers, app developers, de product owner en projectmanager. Eenieder draagt vanuit zijn discipline bij aan een complete oplossing voor de klant. Uiteraard zul je hierin nauw samenwerken met je collega’s. Jij wordt verantwoordelijk voor de front-end implementatie en fungeert als lead op dit gebied binnen het team. Je kunt helder formuleren, ideeën uitdragen en overbrengen aan je collega’s. Qua technische stack is het vooral van belang dat je ervaren bent met Angular, HTML5, CSS en TypeScript. Verder is ervaring in NgRx, Bootstrap, BEM en Cypress een pré, evenals affiniteit met UX/UI Design!

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 »

Front-End Developer

Als Front-End Developer bij Coolblue verbeter je de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten. Wat doe je als Front-End Developer bij Coolblue? Als Front-end Developer werk je aan de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten. Je vindt het leuk om samen te werken met de UX designer om stories op te pakken. Je krijgt energie van het bedenken van creatieve oplossingen en presenteert dit graag binnen het team. Daarnaast ben je trots op je werk en verwelkomt alle feedback. Ook Front-end Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te

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 »

Freelance JAVA / C# Developer

Functieomschrijving Ben je een ervaren freelancer of werk je in loondienst en ben je toe aan een nieuwe uitdaging? Lees dan snel verder want wie weet is dit een leuke vacature voor jou! Voor een opdrachtgever in omgeving Delft zijn wij op zoek naar ervaren JAVA of C# Developers die graag op projectbasis willen werken. Je komt terecht bij een informele developers club die mooie projecten uitvoeren voor grote klanten. Het fijne van deze werkgever is dat je zelf mag beslissen hoe je te werk wilt gaan. Wil je als freelancer werken dan is dat OK. Wil je de zekerheid

Bekijk vacature »

Senior Front end developer Angular

Functie Er zijn momenteel 5 SCRUM-teams waarvan drie gefocust zijn op DevOps en de huidige projecten en twee op innovatie van de platformen. Jij zal onderdeel worden van het innovatie Scrum team. De 2 multidisciplinaire innovatie teams bestaan momenteel uit 14 werknemers. Jij als senior Front end developer wordt onderdeel van onze innovatieteams. De innovatieteams houden zich bezig met het door ontwikkelen van de huidige producten en denken na over nieuwe functionaliteiten. Binnen de rol van Front end developer krijg je veel vrijheid en kan je je dag zelf indelen. Dingen waar jij je dagelijks mee bezig zult houden is

Bekijk vacature »

Senior SQR Java Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Eindhoven Vacature ID: 13333 Introductie Are you passionate about contributing to the world's most advanced machines. Do you thrive in a challenging environment working with highly motivated and skilled teams? If so, we have the perfect opportunity for you! We are seeking a Senior Software Design Engineer for Sequence Tooling to play a critical role in creating and maintaining mission-critical software applications. In this role, you will focus on achieving maintainable software architecture that is transparent and easy to extend while maintaining a strong focus on software quality. You will work closely with

Bekijk vacature »

Ontwikkelaar Identity & Access Management

Dit ga je doen Als Identity & Access Management Ontwikkelaar zorg jij er voor dat studenten, medewerkers en docenten de juiste benodigdheden op het juiste moment kunnen gebruiken; Het juist opslaan van onderzoeksdata en het openbaar beschikbaar stellen van publicaties (Open Access); Studenten, collega's en wetenschappers ondersteunen; Agile en Scrum werken; Technisch Applicatiebeheer; Ontwikkelen in One Identity Manager en VB.NET. Hier ga je werken Als Ontwikkelaar kom je terecht in een hecht team die zich richt op wetenschappelijke informatie en ICT. Jij bent degene die er voor zorgt dat alle informatie, uit diverse onderzoeken, bij de juiste personen terecht komt.

Bekijk vacature »

IT Infrastructuur Developer

IT Infrastructuur Developer Ben jij (bijna) klaar met je HBO studie in de richting van IT? Opzoek naar een spannende eerste baan, waar je ontzettend veel kan leren? Dan hebben wij de ultieme job voor jou! Voor een goede klant van ons in de financiële dienstverlening zijn wij opzoek naar een Junior Infrastructure Developer. Deze baan is een mooie kans om een sterke start te geven aan jouw carrière binnen de IT! De job Je werkt nauw samen met het Devops team, en zal je voornamelijk bezighouden met het automatiseren van infrastructure componenten. De componenten worden opgevraagd door het DevOps

Bekijk vacature »

Outsystems Developer Medior

Dit ga je doen Bouwen aan nieuwe en innovatieve applicaties; Maken van koppelingen tussen Outsystems en het bestaande applicatielandschap; Troubleshooting op bestaande software. Hier ga je werken De organisatie is internationale speler binnen de bouwbranche en richt zich op de infrastructuur, zowel boven als onder de grond. Ze zijn ruim 1100 man groot en maken op IT vlak een mooie groei door. Als ervaren Developer kom je te werken op een IT-afdeling van zo'n 25 man groot. Een aantal jaar geleden hebben ze de keuze gemaakt om zich meer te gaan richten op ontwikkeling en door de groei van de

Bekijk vacature »

Pagina: 1 2 volgende »

Rico

Rico

08/11/2006 02:49:00
Quote Anchor link
Hoi allemaal,

Ik ben al een tijdje bezig met het zichtbaar krijgen van de items van de maand. Het is dus de bedoeling dat ik een lijstje krijg met de best bekeken items van de maand, mocht het de eerste van de maand zijn en nog niet genoeg items in de best bekeken hebben dan zou hij naar de vorige maand moeten kijken.

Hieronder heb ik de code staan die ik tot nu toe heb. Sorry dat het er niet meer netjes uitziet, ik heb er al zoveel mee geprobeert dat ik er zelf niet meer uitkom.

De eerste query is om te kijken of er voldoende items al bekeken zijn, mocht dit niet het geval zijn moet hij $maand - 1 doen, dus naar de vorige maand.

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

$timestamp
= strtotime("now");
//$maand = date("m", $timestamp);
$maand = 7;
if ($maand < 10) { $maand = "0$maand"; }

$sqlm = "SELECT distinct id, count(*) as cnt FROM itemcount WHERE date LIKE '%-".$maand."-%' GROUP BY id ORDER BY cnt DESC, id LIMIT 0,$limit";
$resm = mysql_query($sqlm) or die("SELECT Error: ".mysql_error());
$items = mysql_num_rows($resm);
echo $items;
echo "    ";
if ($items < 10) { $maan = --$maand; } else { $maan = $maand; }

if ($maan < 10) { $maan = "0$maan"; }

$sqlc = "SELECT distinct id, item, timestamp, count(*) as cnt FROM itemcount WHERE date LIKE '%-".$maan."-%' GROUP BY id ORDER BY cnt DESC, id LIMIT 0,$limit";
$resc = mysql_query($sqlc) or die("SELECT Error: ".mysql_error());
$item = mysql_num_rows($resc);
echo $item;
echo "    ";

?>


Ik hoop dat ik het een beetje begrijpend heb kunnen uitleggen.
Alvast bedankt voor jullie tijd en moeite..
Gewijzigd op 01/01/1970 01:00:00 door Rico
 
PHP hulp

PHP hulp

21/06/2025 19:32:08
 
Joren de Wit

Joren de Wit

08/11/2006 13:18:00
Quote Anchor link
Oke, maar wat is nu je probleem? Wat gaat er fout?

Er valt nog wel wat op te merken aan je code. Bijvoorbeeld het toepassen van voorloopnullen, daar zou je heel mooi de functie sprintf() voor kunnen gebruiken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$maand
= sprintf(%02d, $maand);
?>


En gebruik in je query geen LIKE als het om data gaat. Aangezien een datum in een DATE of DATETIME veld staat en je precies weet waarop je wilt vergelijken, kun je dat met de datum/tijd functies van mysql voor elkaar krijgen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
SELECT iets
FROM tabel
WHERE MONTH(datum) = 10


Die 10 is natuurlijk een voorbeeldje, daar moet je zelf nog iets voor invullen, direct dan wel met een variabele.

Ik zie dat je een timestamp gebruikt. Waarvoor als ik vragen mag?
 
Rico

Rico

08/11/2006 13:36:00
Quote Anchor link
het probleem is dat ik bij de eerst query wel bij $items 10 krijg maar bij de 2de $item dus helemaal niks, ondanks dat hij dan eigelijk alles gewoon door moet duwen.

Wat ik niet snap is dat de 2 queries eigelijk hetzelfde zijn, maar de eerste geeft wel resultaat en de 2de niet, als de 2de ook gewoon resultaat gaf dan was het probleem opgelost. :)

En het gebruik van de timestamp en datum is omdat ik voor sommige dingen wel met timestamp kan/moet werken en met andere dingen zoals dit kan ik het dus niet. :( ik kan redelijk uit de voeten met php en sql, maar zo goed ben ik er nog niet in. :) Ik hoop dat ik nog ergens een keer een goed boek tegenkom waar alles netjes instaat. :)
 
Frank -

Frank -

08/11/2006 14:09:00
Quote Anchor link
Hier een query die zelf kijkt of de huidige maand moet worden genomen of de vorige maand:
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
<?php
$sqlm
= "
SELECT
    id,
    count(id) as cnt
FROM
    itemcount
WHERE
    CASE
        WHEN DAYOFMONTH(CURDATE()) = 1 THEN MONTH(date) = MONTH(DATE_ADD(CURDATE() INTERVAL -1 MONTH)
        ELSE MONTH(date) = MONTH(CURDATE())
    END
GROUP BY id
ORDER BY
    cnt DESC,
    id ASC
LIMIT 0, $limit"
;
?>

Nu wordt gekeken of het dagnummer 1 is, dit kun je natuurlijk nog veranderen in bv. < 3 wanneer je pas vanaf dag 3 de huidige maand wilt gaan tonen. Een timestamp heb je echt nooit nodig in de database, gebruik deze dan ook vooral niet. Het kan alleen maar problemen opleveren.

(niet getest, kan nog een foutje in zitten, maar in grote lijnen klopt het wel)
 
Rico

Rico

09/11/2006 18:11:00
Quote Anchor link
Hey Frank,

Bedankt voor je reactie. Ik wist nog niet dat je dit ook volledig in de query kon verwerken.

Ik ga er een mee worstelen.

Bedankt!!!!
 
Rico

Rico

10/11/2006 13:21:00
Quote Anchor link
Hey Frank,

Ik heb er nu een tijdje mee lopen stoeien, maar kom er niet uit :( Hij geeft als error " SELECT Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') INTERVAL -1 MONTH) ELSE MONTH(date) = MONTH(CURDATE()) END C " dit aan. Ik heb al verschillende dingen gedaan maar blijf deze error houden. :( Ik heb nog nooit met case gewerkt dus het is een beetje vreemd voor mij, ik heb al wel op de mysql.com site gekeken maar ook niks wijzer geworden.

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
<?php
$sqlm
= "
SELECT
    id,
    count(id) as cnt
FROM
    itemcount
WHERE
    CASE
        WHEN DAYOFMONTH(CURDATE()) = 1 THEN MONTH(date) = MONTH(DATE_ADD(CURDATE()) INTERVAL -1 MONTH)
        ELSE MONTH(date) = MONTH(CURDATE())
    END CASE
GROUP BY id
ORDER BY
    cnt DESC,
    id ASC
LIMIT 0, $limit"
;
?>
 
Jan Koehoorn

Jan Koehoorn

10/11/2006 13:24:00
Quote Anchor link
Quote:
MONTH(DATE_ADD(CURDATE()) INTERVAL -1 MONTH)

moet zijn:
MONTH(DATE_ADD(CURDATE(), INTERVAL -1 MONTH))
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
 
Rico

Rico

10/11/2006 13:29:00
Quote Anchor link
Hoi Jan,

Heb ik ookal geprobeert, maar krijg dan dezelfde error :(

Sorry had de komma niet gezien. :S maar nu werkt hij zover ik lokaal kan zien, nu nog even online testen met de up to date db...

Bedankt Frank en Jan.

En sorry dat ik het niet in de handleiding kon vinden. :/
Gewijzigd op 01/01/1970 01:00:00 door Rico
 
Frank -

Frank -

10/11/2006 13:32:00
Quote Anchor link
Bedankt Jan! Wel lullig zo'n kommaatje, kan gebeuren...

Rico, let voortaan heel goed op de foutmelding die MySQL geeft. Deze geeft aan dat het bij INTERVAL fout gaat. Dan weet je dat de fout daar vlak voor moet zitten, MySQL komt vanwege een fout namelijk niet meer toe aan INTERVAL en de rest van de query. In dit geval omdat MySQL een komma verwacht.

De fout had dus helemaal niets met de CASE te maken, maar met de functie DATE_ADD() die niet goed wordt gebruikt. Dit had je vrij eenvoudig in de MySQL-handleiding kunnen vinden, zie hoofdstuk 12.5.

Succes!
 
Rico

Rico

10/11/2006 13:49:00
Quote Anchor link
Mmm ik vond het al vreemd dat hij in de query niet iets moest vergelijken voor bijvoorbeeld de datum. Want ik krijg nu geen error meer, maar hij haalt ook niks uit de database. :/

De datum word opgeslagen in de table date in formaat DD-MM-YYYY. Ik heb het al geprobeert met voor de case " date = " te zetten maar dat werkt niet, krijg ik nog steeds niks, ondanks er ruim 2000 entries staan.
Gewijzigd op 01/01/1970 01:00:00 door Rico
 
Jan Koehoorn

Jan Koehoorn

10/11/2006 13:55:00
Quote Anchor link
Twee dingen:

1) de tabelnaam 'date' is een slecht idee i.v.m. reserved words.
2) het formaat DD-MM-YYYY, daar kan MySQL niets mee. Een veld type DATE hoort YYYY-MM-DD te zijn.
 
Rico

Rico

10/11/2006 13:59:00
Quote Anchor link
Dus met andere woorden moet ik alle 20.000 entries veranderen voor het kan werken??
 
Frank -

Frank -

10/11/2006 13:59:00
Quote Anchor link
@Jan: De tabelnaam 'date' is in principe fout, maar omdat deze fout zo ongelovelijk vaak wordt gemaakt, heeft MySQL deze naam maar geaccepteerd als tabelnaam. Dat geeft dus geen problemen. Toch raad ik het af, het is dan niet duidelijk of je nu de tabelnaam of de functie bedoelt: DATE(date) is een correct stukje SQL, maar het heeft niet mijn voorkeur.
 
Frank -

Frank -

10/11/2006 14:04:00
Quote Anchor link
Rico schreef op 10.11.2006 13:59:
Dus met andere woorden moet ik alle 20.000 entries veranderen voor het kan werken??
Helemaal correct! Je hebt namelijk onzin in je database gezet!

Oplossing: Maak even een nieuwe kolom aan, bv. met de naam 'iso_date' (het is tenslotte een iso-formaat). En ga dan de volgende query op jouw tabel loslaten:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
Edit: deze query mag je snel vergeten!

Deze werkt uitstekend wanneer de boel in de kolom 'date' is opgeslagen in het formaat dd-mm-yyyy

Edit:
Nadat je de kolom 'iso_date' keurig hebt gevuld (en even gecontroleerd of alles goed is) kun je de kolom 'date' verwijderen. Alle queries de gebruik maakten van de kolom 'date' moet je natuurlijk gaan aanpassen, die moeten nu gebruik maken van iso_date waar nu een échte datum in staat.
Gewijzigd op 01/01/1970 01:00:00 door Frank -
 
Rico

Rico

10/11/2006 14:12:00
Quote Anchor link
Met die query krijg ik wel heel rare data's te zien.. :)

van 04-04-2006 maakt hij dan 6002-40-40

:)
 
Frank -

Frank -

10/11/2006 14:14:00
Quote Anchor link
Ai! Stom, niet aan gedacht! Sorry.... Typisch gevalletje van een 10 voor het idee en een 1 voor de uitvoering.

Er zijn overigens string-functies die wél doen wat jij wilt, zoek daar maar even naar: http://dev.mysql.com/doc/refman/4.1/en/string-functions.html
 
Frank -

Frank -

10/11/2006 14:21:00
Quote Anchor link
Volgens mij mag dit hem worden:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
UPDATE
  tabelnaam
SET
  iso_date = CONCAT(
    SUBSTRING(date, 7, 4),
    '-',
    SUBSTRING(date, 4, 2),
    '-',
    SUBSTRING(date, 1, 2)
  )

Wederom niet getest...
 
Rico

Rico

10/11/2006 14:41:00
Quote Anchor link
Die CONCAT werkte perfect.. :) Dank je.

Nu heb ik alles omgezet naar iso_date en date verwijderd, en nu doet hij het dus wel als ik het goed zie. Alleen is er een mogelijkheid dat ik kan kijken naar de vorige maand om te testen dat hij alleen deze maand pakt. ??

In ieder geval heel erg bedankt. :)
Gewijzigd op 01/01/1970 01:00:00 door Rico
 
Frank -

Frank -

10/11/2006 14:44:00
Quote Anchor link
Met testen kun je de WHEN even aanpassen, je hebt nu in de query staan:
WHEN DAYOFMONTH(CURDATE()) = 1

Maak van die 1 even een 10 (het is vandaag de 10e!) en je hoort de gegevens van de vorige maand te krijgen.
 
Rico

Rico

10/11/2006 14:46:00
Quote Anchor link
Ok nu ga ik ff dom zitten doen zie ik... lol Ik heb 6 maanden weinig gedaan met php en sql en ik ben alles vergeten lijkt wel.. :(
 
Rico

Rico

10/11/2006 14:51:00
Quote Anchor link
Maar als ik het goed begrijp kan ik beter geen date gebruiken maar iso_date, of kan datum wel ??

En als ik het per week wil laten zien, kan ik dan MONTH vervangen door WEEK of is het niet zo simpel ?? :)
 

Pagina: 1 2 volgende »



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.