datum sorteren met europese uitlezing

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Erwin

Erwin

20/05/2006 16:32:00
Quote Anchor link
Hoi ,
ik ben er eindelijk in geslaagd mijn datums van mijn database uit te lezen in de Europese vorm , alleen probeer ik ze te sorteren op datum , helaas sorteert hij ze nu op de dag : voorbeeldje

01-12-2002 andere wedstrijd
03-05-2000
04-10-2004 ergohead
13-01-2006 testwedstrijd
15-12-2002 BK kort

de sql :
mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query="SELECT DATE_FORMAT( datum, '%d-%m-%Y') AS datum,wedstrijd FROM datumtest ORDER BY datum ";
$result=mysql_query($query);

$num=mysql_numrows($result);

mysql_close();

echo "<b><center>Database Output</center></b><br><br>";

$i=0;
while ($i < $num) {

$first=mysql_result($result,$i,"datum");
$last=mysql_result($result,$i,"wedstrijd");


echo "<b>$first</b> ";
echo "<b>$last</b><br>";

$i++;
}

Ook met ORDER BY datum ASC lukt het niet , hoe los ik dit op ??
bedankt

Erwin
 
PHP hulp

PHP hulp

07/05/2024 04:04:14
 
- SanThe -

- SanThe -

20/05/2006 19:56:00
Quote Anchor link
Je gebruikt nu 'datum' op twee manieren, niet doen gewoon een andere naam geven.

$query="SELECT DATE_FORMAT( datum, '%d-%m-%Y') AS format_datum,wedstrijd FROM datumtest ORDER BY datum ";
 
Erwin

Erwin

21/05/2006 07:33:00
Quote Anchor link
hmm , heb er wat mee gespeeld en kreeg fouten , alles terug gezet zoals het stond en , raar maar waar , nu werkt het wel , met 2 keer datum...
vraagje , als ik dat verander in format_datum , moet ik in de database dan nog iets aanpassen ?( want dat is de naam van de kolom in mysql he )
begrijp je oplossing niet helemaal .
thnx
 
Willem Jan Z

Willem Jan Z

21/05/2006 08:44:00
Quote Anchor link
Wat hij doet is een andere naam aan je datum geven (format_datum).
Maar hij sorteerde op de originele kolom. (datum)

Jij ging sorteren op je 'nieuwe' naam (datum), maar aangezien MySQL dat format niet kent, sorteerd hij niet correct. Daarom altijd een andere naam opgeven!

Edit
Bas, nee ik weet het, ik snap ook echt niet hoe ik er bij kom op dat moment :s
Mijn excuses SanThe!
Gewijzigd op 01/01/1970 01:00:00 door Willem Jan Z
 
B a s
Beheerder

B a s

21/05/2006 10:07:00
Quote Anchor link
Offtopic:
SanThe is geen 'ze'


Is je 'datum' veld in je tabel wel DATE_TIME ?
 
Jan Koehoorn

Jan Koehoorn

21/05/2006 10:12:00
Quote Anchor link
MySQL sorteert ze nu als gewone strings in plaats van als datums. Inderdaad eerst checken of het veld in je database wel een type DATETIME is.
 
B a s
Beheerder

B a s

21/05/2006 10:21:00
Quote Anchor link
Of je doet het zo, (wat overigens niet zo netjes is):

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
SELECT
wedstrijd
, SUBSTRING(datum, 1, 2) as day
, SUBSTRING(datum, 4, 2) as month
, SUBSTRING(datum, 7, 4) as year
, SUBSTRING(datum, 12, 2) as hour
, SUBSTRING(datum, 15, 2) as minute
FROM datumtest
ORDER BY
year DESC, month DESC, day DESC, hour DESC, minute DESC


:)
 
Jan Koehoorn

Jan Koehoorn

21/05/2006 10:26:00
Quote Anchor link
Ik vind deze (van Frank) nog steeds erg handig als je met Nederlandse datumnotatie wilt werken met puur en alleen MySQL:
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
<?php
$sql
= "
SELECT
    CASE
      WHEN DAYOFWEEK(datum) = 1 THEN 'zondag'
      WHEN DAYOFWEEK(datum) = 2 THEN 'maandag'
      WHEN DAYOFWEEK(datum) = 3 THEN 'dinsdag'
      WHEN DAYOFWEEK(datum) = 4 THEN 'woensdag'
      WHEN DAYOFWEEK(datum) = 5 THEN 'donderdag'
      WHEN DAYOFWEEK(datum) = 6 THEN 'vrijdag'
      WHEN DAYOFWEEK(datum) = 7 THEN 'zaterdag'
    END
    AS dag,
    CASE
      WHEN MONTH(datum) =  1 THEN 'januari'
      WHEN MONTH(datum) =  2 THEN 'februari'
      WHEN MONTH(datum) =  3 THEN 'maart'
      WHEN MONTH(datum) =  4 THEN 'april'
      WHEN MONTH(datum) =  5 THEN 'mei'
      WHEN MONTH(datum) =  6 THEN 'juni'
      WHEN MONTH(datum) =  7 THEN 'juli'
      WHEN MONTH(datum) =  8 THEN 'augustus'
      WHEN MONTH(datum) =  9 THEN 'september'
      WHEN MONTH(datum) = 10 THEN 'oktober'
      WHEN MONTH(datum) = 11 THEN 'november'
      WHEN MONTH(datum) = 12 THEN 'december'
    END
    AS maand,
    YEAR(datum)
    AS jaar
FROM
  tabelnaam
ORDER BY datum ASC
"
;
?>
 
Erwin

Erwin

23/05/2006 07:05:00
Quote Anchor link
ok , ik heb het door , wat dat betreft toch n bedankt voor jullie hulp , een stapje verder . kan ik dat combineren met wat ik hier geschreven heb ?
Want als ik hier DATE_FORMAT neem en uitlees AS... dan gaat het mis natuurlijk aangezien de rijen van mijn database hier gelezen worden ( dacht ik toch ) thnx

$lastsearch =$_POST['lastsearch'];

if ($_POST['lastsearch']) {
mysql_connect('localhost',$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$sql = mysql_query("SELECT * FROM resultaten WHERE naam LIKE '%$lastsearch%'");

while ($row = mysql_fetch_row($sql)) {
?>
<tr>
<td width="20" bgcolor="FFF85C"><font face="verdana, Helvetica, sans-serif" >
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $row[1] ?>
</font></td>
<td bgcolor="FFF85C"><font face="Arial, Helvetica, sans-serif">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $row[2] ?>
</font></td>
<td bgcolor="FFF85C" width="500"><font face="Arial, Helvetica, sans-serif">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $row[3] ?>
</font></td>
<td bgcolor="FFF85C"><font face="Arial, Helvetica, sans-serif">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $row[5] ?>
</font></td>
<td bgcolor="FFF85C"><font face="Arial, Helvetica, sans-serif">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $row[4] ?>
</font></td>
<td bgcolor="FFF85C"><font face="Arial, Helvetica, sans-serif">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $row[6] ?>
</font></td>
<td bgcolor="FFF85C"><font face="Arial, Helvetica, sans-serif">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $row[7] ?>
</font></td>
</tr>
 



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.