Datum omzetten naar dag en maand

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ed van Papenrecht

Ed van Papenrecht

19/08/2011 10:57:10
Quote Anchor link
Hoi Iedereen,

Ik loop tegen een probleem aan waar jullie waarschijnlijk wel een oplossing voor weten.

In de database sla ik in een veld met type date een datum op ( om zo een koopzondag weer te geven) Nu wil ik alleen dat op de website het niet wordt weergegeven zoals opgeslagen in de database "2011-08-28" Maar dat het "28 aug" wordt..

Hoe kan ik dit het beste doen?

Heel erg bedankt alvast!
 
PHP hulp

PHP hulp

21/11/2024 21:56:20
 
Kees Schepers

kees Schepers

19/08/2011 11:11:48
Quote Anchor link
Met een beetje zoeken in de manual was je daar zelf denk ik ook wel uitgekomen maar hier een mogelijke oplossing:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$sql
= 'SELECT UNIX_TIMESTAMP(de_datum) as de_datum FROM ..';
//de rest van je mysql fetch meuk

$row = mysql_fetch_assoc($result);

echo strftime("%d %b",$row['de_datum']);
?>


Plus je moet je locale goed hebben staan voor een Nederlands formaat.
 
Ed van Papenrecht

Ed van Papenrecht

19/08/2011 11:28:11
Quote Anchor link
Okey, ik heb bovenstaande geprobeerd, alleen krijg overal 1 januari.
Enig idee wat ik fout doe? Heb de manual gelezen, maar kom er niet echt wijs uit.. ( niet zoveel php ervaring)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php                 
   $huidigemaand
= date("m");
   $query ="SELECT vestigingen.vestiging_id, vestigingen.plaats, datum, DATE_FORMAT(datum,'%m') AS maand, UNIX_TIMESTAMP(datum) as de_datum
                            FROM koopzondagen INNER JOIN vestigingen ON koopzondagen.vestiging_id=vestigingen.vestiging_id WHERE DATE_FORMAT(datum,'%m') = $Nextmaand ORDER BY datum"
;
                    $result = mysql_query($query) or die ("FOUT: " .mysql_error());
            
                    while (list($id, $koopzondag, $datum, $maand) = mysql_fetch_row($result) ) {
                        setlocale(LC_TIME, 'NL_nl');
                        echo strftime("%d %b",$result['datum']);
                        echo (" | <a href='svea-vestigingen.php?vestiging_id=".$id."'>Svea Keukens $koopzondag</a><br />");
                    }
?>
Gewijzigd op 19/08/2011 11:30:03 door Ed van Papenrecht
 
- SanThe -

- SanThe -

19/08/2011 11:32:21
Quote Anchor link
Je moet wel de_datum gebruiken.
echo strftime("%d %b",$result['de_datum']);
 
Ed van Papenrecht

Ed van Papenrecht

19/08/2011 11:35:50
Quote Anchor link
Zag het ook inderdaad... te snel gekeken.
Heb het nu werken, maar wel op een andere manier als hierboven namelijk:

DATE_FORMAT(datum,'%d %b')gebruiken ipv 'SELECT UNIX_TIMESTAMP(de_datum)

Super bedankt iig voor jullie hulp! Ben dankzij jullie al een heel eind met mijn prgrammeer werk, en mijn php kennis wordt steeds beter:)
 
Kees Schepers

kees Schepers

19/08/2011 11:41:48
Quote Anchor link
Zo kan het ook :) Alleen weet niet of je dan het op basis van Nederlandse locale kan fixen met MySQL.
 
Ed van Papenrecht

Ed van Papenrecht

19/08/2011 11:49:49
Quote Anchor link
Maakt bij deze niet zoveel uit.. aangezien er maar drie letters worden weergegeven.. mocht het toch problemen opleveren dan kan ik onderstaande toevoegen denk ik:) Super bedankt iig!

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
setlocale(LC_TIME, 'NL_nl');
?>


Toevoeging op 19/08/2011 12:21:41:

Toch nog een vraagje:$

Nu is het zo dat hij alles onder elkaar zet bijvoorbeeld:
11 Aug | Den Helder
11 Aug | Heerenveen
11 Aug | Aartselaar
28 Aug | Aartselaar
28 Aug | Aartselaar

Is het programeer technisch mogelijk dat ik tussen de 11aug en 28 aug een open regel zet. Zodat het wat overzichtelijker wordt?
 
Jacco Brandt

Jacco Brandt

19/08/2011 12:41:32
Quote Anchor link
Dan moet je de datum in een variabele opslaan. En in de loop vergelijken of de opgeslagen datum anders is dan de huidige datum, en in dat geval een extra enter echoen.
 
Ed van Papenrecht

Ed van Papenrecht

19/08/2011 13:04:28
Quote Anchor link
mmm okey.. zal eens kijken of ik eruit kom:)
Bedankt iig:D

Toevoeging op 19/08/2011 13:33:01:

Mmm kom er toch niet echt uit... Kan iemand mij hierbij helpen..
heb nu dit als output:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?
while (list($id, $koopzondag, $datum, $maand, $datum2) = mysql_fetch_row($result) ) {
                        echo ("$datum2 | <a href='svea-vestigingen.php?vestiging_id=".$id."'>Svea Keukens $koopzondag</a><br />");
                    }
?>
 
Noppes Homeland

Noppes Homeland

19/08/2011 19:58:39
Quote Anchor link
Kees Schepers op 19/08/2011 11:41:48:
Zo kan het ook :) Alleen weet niet of je dan het op basis van Nederlandse locale kan fixen met MySQL.


Zie: http://dev.mysql.com/doc/refman/5.0/en/locale-support.html
http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_date-format

Oh en de enige manier waarop je fatsoenlijk kan fetchen is door gebruik te maken van mysql_fetch_assoc, dat geeft een array terug.

En laat je sql statement nog eens zien, want volgens mij loop je maar wat aan te "kloten".
Gewijzigd op 19/08/2011 20:02:28 door Noppes Homeland
 
Jacco Brandt

Jacco Brandt

19/08/2011 21:29:18
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?
$temp
= "";
while (list($id, $koopzondag, $datum, $maand, $datum2) = mysql_fetch_row($result) )
{

   if ($temp != "" && $temp != $datum2)
       echo "<br />";

   $temp = $datum2;
 
   echo ("$datum2 | <a href='svea-vestigingen.php?vestiging_id=".$id."'>Svea Keukens $koopzondag</a><br />");
}

?>


Oh, denk eraan dat je variabelen uit de string haalt.
Gewijzigd op 19/08/2011 21:31:17 door Jacco Brandt
 
Noppes Homeland

Noppes Homeland

19/08/2011 21:43:16
Quote Anchor link
Ik vroeg niet om de php code maar om het sql-statement!! Je weet wel SELECT col1, cols2 FROM tabel .......

en houd rekening met deze opmerking:
Quote:
Oh en de enige manier waarop je fatsoenlijk kan fetchen is door gebruik te maken van mysql_fetch_assoc, dat geeft een array terug.
 
Ed van Papenrecht

Ed van Papenrecht

23/08/2011 10:20:54
Quote Anchor link
Hoi iedereen,

Bedankt voor de feedback..
Ik gebruik momenteel onderstaande code. Zal eens kijken of ik wat met jullie toevoegingen kan..

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php                 
                               $huidigemaand
= date("m");
                            //query om alle vestigignen die op zondag open zijn in de huidige maand in de website te tonen
                               $query ="SELECT vestigingen.vestiging_id, vestigingen.plaats, datum, DATE_FORMAT(datum,'%m') AS maand, DATE_FORMAT(datum,'%d %b') as de_datum
                                    FROM koopzondagen INNER JOIN vestigingen ON koopzondagen.vestiging_id=vestigingen.vestiging_id WHERE DATE_FORMAT(datum,'%m')= $huidigemaand ORDER BY datum"
;
                            $result = mysql_query($query) or die ("FOUT: " .mysql_error());
            
                            while (list($id, $koopzondag, $datum, $maand, $datum2) = mysql_fetch_row($result) ) {
                                echo ("$datum2 | <a href='svea-vestigingen.php?vestiging_id=".$id."'>Svea Keukens $koopzondag</a><br />");}
                            ?>


Toevoeging op 23/08/2011 10:22:50:

@Jacco,

Helemaal super. Dit is precies wat ik bedoel!
Bedankt allemaal!
 



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.