Versio

Per dag een aantal tijden selecten

Overzicht Reageren

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

25/05/2012 09:57:31
Gesponsorde koppelingen:
 
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

Get Adobe Flash player