Per dag een aantal tijden selecten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Thomas M

Thomas M

13/02/2007 22:56:00
Quote Anchor link
Hallo, voor een changelog script wil ik per dag gecategoriseerd de logs selecteren.
Dus per dag zijn er 1 of meer items aan de database toegevoegd en die wil ik selecten met de datum erboven.
Ik heb DATETIME gebruikt voor het veld datum en heb nu het volgende script:
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
<?php
//Per dag selecten uit database
$sel_data = "SELECT DISTINCT(DATE_FORMAT(datum, '%d-%m-%Y')) AS dag FROM changelog ORDER BY dag DESC";
$sel_data_r = mysql_query($sel_data) or die (mysql_error());
//Kijken of er resultaten zijn
if(mysql_num_rows($sel_data_r) > 0) {
   //Ja, dagen weergeven
   while($dag = mysql_fetch_array($sel_data_r)) {
      echo "<b>".$dag['dag']."</b><br>";
      //Per dag selecten wat voor logs er zijn
      $sel_log = "SELECT id, DATE_FORMAT(datum, '%H:%i:%s') AS tijd, change, versie FROM changelog WHERE DATE_FORMAT(datum, '%d-%m-%Y') = ".$dag['dag']." ORDER BY tijd DESC";
      $sel_log_r = mysql_query($sel_log) or die (mysql_error());
      while($log = mysql_fetch_array($sel_log_r)) {
         echo $log['tijd']." -> ".$log['change']." (".$log['versie'].")<br>";
      }
   }
}

else {
   echo "Er zijn geen resultaten.";
}

?>

Dit werkt echter niet, ik krijg de volgende error:
Quote:
Er is iets fout in de gebruikte syntax bij 'change, versie FROM changelog WHERE DATE_FORMAT(datum, '%d-%m-%Y'


Nu is mijn vraag hoe ik per dag de items kan selecten.

Ik hoop dat het een beetje duidelijk is uitgelegd en alvast bedankt voor de hulp =)

Thomas
 
PHP hulp

PHP hulp

20/11/2024 04:36:25
 
Jan Koehoorn

Jan Koehoorn

13/02/2007 23:06:00
Quote Anchor link
Met die DISTINCT krijg je maar 1 record voor een bepaalde dag en dat is niet wat je wilt. Je wilt resultaten per dag zien.

Je zult dus in je query moeten werken met:

GROUP BY DATE_FORMAT(datum, '%Y-%m-%d')
 
Thomas M

Thomas M

14/02/2007 21:12:00
Quote Anchor link
Kan je misschien iets meer uitleggen?
Dat DISTINCT had ik gebruikt om kopjes te maken voor de dagen, tenminste dat is de bedeling :P
14-02-2007
Item1
Item2
Item3
13-02-2007
Item1
Item2

Zoiets wil ik dus en ik heb GROUP BY nu zo verwerkt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$sel_log = "SELECT id, DATE_FORMAT(datum, '%H:%i:%s') AS tijd, change, versie FROM changelog GROUP BY DATE_FORMAT(datum, '%d-%m-%Y') ORDER BY tijd DESC";

Maar ook dat geeft een error, wat doe ik fout?
 



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.