cijfers omzetten in letters

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Allan de Bruin

Allan de Bruin

27/08/2009 22:22:00
Quote Anchor link
Hoi Allemaal,
Hopelijk kunnen jullie mij helpen.

In de database staan waarden die staan voor de maand:
dus 01 ,02, 03 etc.

Wat ik graag wil is dat wanneer ik deze ophaal uit de database dat ze dan later worden weergegeven als maandnaam: ipv cijfer.
dus maandcijfer 01 moet worden januari

het volgende heb ik al geprobeerd maar dat lukte niet....

Alvast bedankt voor jullie tijd en inzet!

CODE:

mysql_select_db($database_naam, $naam);
$query_rsArchief = "SELECT OnId, OnMaand, OnJaar FROM tblondernemers GROUP BY OnMaand ASC";
$rsArchief = mysql_query($query_rsArchief, $pyler) or die(mysql_error());
$row_rsArchief = mysql_fetch_assoc($rsArchief);
$totalRows_rsArchief = mysql_num_rows($rsArchief);


if ($row_rsArchief['OnMaand'] = "01") {
"januari";
}
if ($row_rsArchief['OnMaand'] = "02") {
"februari";
}
if ($row_rsArchief['OnMaand'] = "03") {
"maart";
}
if ($row_rsArchief['OnMaand'] = "04") {
"april";
}
if ($row_rsArchief['OnMaand'] = "05") {
"mei";
}
if ($row_rsArchief['OnMaand'] = "06") {
"juni";
}
if ($row_rsArchief['OnMaand'] = "07") {
"juli";
}
if ($row_rsArchief['OnMaand'] = "08") {
"augustus";
}
if ($row_rsArchief['OnMaand'] = "09") {
"september";
}
if ($row_rsArchief['OnMaand'] = "10") {
"oktober";
}
if ($row_rsArchief['OnMaand'] = "11") {
"november";
}
if ($row_rsArchief['OnMaand'] = "12") {
echo "december";
}
 
PHP hulp

PHP hulp

25/11/2024 02:03:48
 
Willem vp

Willem vp

27/08/2009 22:34:00
Quote Anchor link
In je if-then-oerwoud staat (uitgezonderd bij december) nergens een echo, dus zal er waarschijnlijk ook niet veel op je scherm terecht komen ;-)

Overigens is dat if-then ding een beetje erg inefficient.
Probeer het eens met dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
$monthnames = array(1 => "januari", "februari", "maart", "april",
                         "mei", "juni", "juli", "augustus",
                         "september", "oktober", "november", "december");
                            
$monthname = $monthnames[(int)$row_rsArchief['OnMaand']];
echo $monthname;

De array $monthnames hoef je in principe maar 1x te definieren (ergens bovenaan in je script of zo). Als je in je script vaker een nummer naar een maand wilt converteren, hoef je alleen de constructie in regel 5 maar te gebruiken.
Gewijzigd op 01/01/1970 01:00:00 door Willem vp
 
The Ultimate

The Ultimate

27/08/2009 22:34:00
Quote Anchor link
@Willem, dat meen je toch niet he? Kijk eens:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$sql
= "SELECT id,essentie, DATE_FORMAT(datum, '%d-%m-%Y') AS datum
            FROM tabel WHERE id = '"
.$_GET['id']."'";
?>
Gewijzigd op 01/01/1970 01:00:00 door The Ultimate
 
Jan Koehoorn

Jan Koehoorn

27/08/2009 22:37:00
Quote Anchor link
Of gebruik de MySql ELT constructie:
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
    SELECT
    ELT(
        (DATE_FORMAT(datumtijd, '%c')),
        'januari',
        'februari',
        'maart',
        'april',
        'mei',
        'juni',
        'juli',
        'augustus',
        'september',
        'oktober',
        'november',
        'december'
        ) AS maand
 
The Ultimate

The Ultimate

27/08/2009 22:42:00
Quote Anchor link
Grappige topic titel overigens: cijfers omzetten in letters!

Ik denk dat het hier gaat om een klassiek gevalletje van "Allan, zet je spulletjes netjes in de kast". Hoe zet je een datum NETJES in een database. Iets waar we waarschijnlijk allemaal ooit wel eens mee te maken hebben gehad.

Een datum zet je niet per dag, maand en jaar los in rijen in de database. Gebruik ipv losse rijen 1 rij met formaat DATE. Dat scheelt een hoop gedoe.
Gewijzigd op 01/01/1970 01:00:00 door The Ultimate
 
John Cena

John Cena

28/08/2009 09:14:00
Quote Anchor link
En gebruik CODE tags!
 
Allan de Bruin

Allan de Bruin

28/08/2009 09:24:00
Quote Anchor link
thanks allemaal!
wat ik wil maken is dat ik een overzicht heb met de maanden en dan daarachter het aantal in die maand.
Ik d8 dat het dan makkelijker zou zijn om deze zo in de tabel te zetten. :)
Er is wel een kolom met een hele datum aanwezig in die tabel.
Misschien moet ik die dan maar eens gaan selecteren ipv de maand.
Ik ga jullie voorbeelden proberen en zal het laten weten of het is gelukt!
 
John Cena

John Cena

28/08/2009 09:51:00
Quote Anchor link
Als de goede date al in de tabel staat, dan ga je toch niet moeilijk doen? :O
 
Allan de Bruin

Allan de Bruin

28/08/2009 09:56:00
Quote Anchor link
@Chilion, nee klopt. Ik ben heel erg bezig met het gebruik van ADOBE DW en nu merk ik dus dat het gebruik daarvan de kennis blokkeert als het gaat om zulke functies.

Ik heb het opgelost en ga ook geen benaming meer gebruiken voor de maand.

De SQL code =
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT COUNT(OnId) AS Totaal, DATE_FORMAT(OnDateAdd, '%m-%Y') AS Datum FROM tabelnaam GROUP BY Datum


Ook in mijn tabel heb ik de kolom voor de datum aangepast naar DATE.
Gewijzigd op 01/01/1970 01:00:00 door Allan de Bruin
 
John Cena

John Cena

28/08/2009 10:18:00
Quote Anchor link
Met code tags bedoel ik wat je in je laatste post gebruikt.
DW is een leuk programma, maar ik blijf toch bij mijn old skool Notepad++

Benamingen kun je nog steeds gebruiken met DATE... (maar thoeft niet)

Succes ermee :)
 
Willem vp

Willem vp

28/08/2009 17:29:00
Quote Anchor link
@Bart:

Ja, dat meen ik. Ik weet ook dat je het met MySQL en date_format en weet-ik-veel-wat-al-niet-meer kan doen, maar dat was de vraag niet ;-)

Deze snippet werkt daarnaast ook als de maand niet uit een database wordt getrokken.

Ik mis in de reacties overigens de MySQL-functie MONTHNAME. Die lijkt me handiger dan ELT...
Gewijzigd op 01/01/1970 01:00:00 door Willem vp
 
Allan de Bruin

Allan de Bruin

05/09/2009 12:29:00
Quote Anchor link
Die functie DATE is zeker leuk :) Ik ben nu gewoon in PHPMyAdmin bezig om zo via de MySQL te sorteren.


Misschien kunnen jullie mij helpen als ik sorteer op datum met de volgende select:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
SELECT NieuwsId, NieuwsOnderwerp, DATE_FORMAT( NieuwsDatum,  '%d-%m-%Y' ) AS NieuwsDatum
FROM tblnieuws
ORDER BY NieuwsDatum DESC


dan krijg ik de volgende waarden terug:

31-08-2009
30-08-2009
30-08-2009
30-06-2009
17-08-2009
04-09-2009
03-09-2009
02-09-2009


Er word dus niet echt gesorteerd, alleen op de dag word er gesorteerd.

Dus ik heb het anders geprobeerd te sorteren:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
SELECT NieuwsId, NieuwsOnderwerp, DATE_FORMAT( NieuwsDatum,  '%d-%m-%Y' ) AS NieuwsDatum
FROM tblnieuws
ORDER BY  'DATE()' ASC


Ook dat werkte niet. Het zou kunnen dat ik dan op maand zou moeten sorteren door het volgende toe te passen?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
SELECT NieuwsId, NieuwsOnderwerp, DATE_FORMAT( NieuwsDatum,  '%d-%m-%Y' ) AS NieuwsDatum
FROM tblnieuws
ORDER BY  'DATE(%d-%m-%Y)' ASC


Mijn laatste poging:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
SELECT NieuwsId, NieuwsOnderwerp, DATE_FORMAT( NieuwsDatum,  '%d-%m-%Y' ) AS DATUM
FROM tblnieuws
ORDER BY DATUM


Heeft iemand enig idee hoe en wat ik hier misschien fout doe?

lijkt ook niet te werken. De maanden worden niet goed weergegeven.
Gewijzigd op 01/01/1970 01:00:00 door Allan de Bruin
 
Allan de Bruin

Allan de Bruin

05/09/2009 12:33:00
Quote Anchor link
EDIT: Mijn vraag hier weggehaald en verplaatst naar een nieuw topic. Is andere vraag nl.
 



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.