06. april 2008 - 01:20
												Der er
									3 kommentarer													og
					1 løsning									
									
		 
		
			
Form dato til mysql timestamp
			Hejsa.
Nogle der lige kan gennemskue hvorfor dette ikke virker
/**
    * Adds a done task to the db.
    */
   function addRegistration($startTime, $endTime, $userName, $taskTypeId, $solutionDesc) {
       $startTime = date( 'Y.m.d H:i:s', $startTime );
    $startTIme = strtotime( $startTime );
       $endTime = date( 'Y.m.d H:i:s', $endTime );
    $endTIme = strtotime( $endTime );
       $q = "INSERT INTO TASKS (starttime, tasktypeid, username, solutiondesc) VALUES (UNIX_TIMESTAMP($startTime), $taskTypeId, '$userName', '$solutionDesc')";
       return mysql_query($q, $this->connection);
   }
Dato sendes som streng ind i formatet 06.3.2008 01:20:14
					
		
	 
		
								
					
				06. april 2008 - 14:02
				#4
						
		 
		
			Jeg har ændret det til følgende. 
 function addRegistration($startTime, $endTime, $userName, $taskTypeId, $solutionDesc) {
       $dateDiffSecs = datediff("s", formatDate($startTime), formatDate($endTime), true);
       $startTime = date('Y.m.d H:i:s', $startTime);
       $endTime = date('Y.m.d H:i:s', $endTime);
       $q = "INSERT INTO TASKS (starttime, endtime, timespent, tasktypeid, username, solutiondesc) VALUES ('$startTime', '$endTime', 1, $taskTypeId, '$userName', '$solutionDesc')";
       return mysql_query($q, $this->connection);
   }
og før jeg kalder metoden gør jeg dette ved datoerne.
function formatDate($val)  
  {  
      list($date, $time) = explode(" ", $val);  
      list($day, $month, $year) = explode(".", $date);
      list($hour, $minute, $second) = explode (":", $time);
      return mktime((int)$hour, (int)$minute, (int)$second, (int)$month, (int)$day, (int)$year);
  } 
Datoerne kommer fra inputfields fra brugeren.