[bootstrap+mysql+php] datetimepicker

Costas

Administrator
Staff member
 reference 
http://www.malot.fr/bootstrap-datetimepicker/

[--READ_RECORD.html--]

**PHP+TSQL :
//DATE_FORMAT(meeting_datetime,'%d-%m-%Y %H:%i') - 24h format

JavaScript:
<?php
$row=null;
///////////////////READ SPECIFIC RECORD
//DATE_FORMAT(meeting_datetime,'%d-%m-%Y %H:%i') - 24h
if (isset($_GET["id"])) {
	$find_sql = "SELECT client_id, DATE_FORMAT(meeting_datetime,'%d-%m-%Y %H:%i') as meeting_datetime FROM clients where client_id = :id";

	$stmt      = $db->prepare($find_sql);
	$stmt->bindValue(':id', $_GET["id"]);
	
	$stmt->execute();
	$row = $stmt->fetchAll();
}
?>

**JS - jQuery Init Datetime Control :

JavaScript:
    $('[name=meeting_datetime]').datetimepicker({
		weekStart: 1,
		todayBtn:  1,
		autoclose: 1,
		todayHighlight: 1,
		startView: 2,
		forceParse: 1
    });

**JS - Set Datetime Control :

JavaScript:
    //set to JS variable the PHP variable as JSONarray!
    var jArray = <!--?php echo json_encode($row); ?-->;
    $('[name=meeting_datetime]').val(jArray[0]["meeting_datetime"]);

**HTML

JavaScript:
<!-- data-date-format=dd-mm-yyyy hh:ii - 24h format --></pre>
<form id="leads_FORM" action="SAVE_RECORD.php" method="post">
<div class="col-xs-6 col-md-4"><label>Meeting Datetime :</label>

 <input class="form_datetime" type="text" name="meeting_datetime" readonly="readonly" data-date-format="dd-mm-yyyy hh:ii" /></div>
 <button id="btn_leads_details_save" class="btn btn-primary" name="submit" type="submit">
 save
 </button></form>

[--SAVE_RECORD.php--]

JavaScript:
<?php
$meeting_datetime=null;
if (!empty($_POST['meeting_datetime']))
{
	//convert html control 24h date - to PHP 24h format date
	$dt = DateTime::createFromFormat('d-m-Y H:i', $_POST['meeting_datetime']);
	//set to variable a string date formatted as mySQL likes!	
	$meeting_datetime = $dt->format('Y-m-d H:i:s');
}

	$sql = "INSERT INTO clients (meeting_datetime) VALUES (:meeting_datetime)";
	$stmt = $db->prepare($sql);
	$stmt->bindValue(':meeting_datetime' , $meeting_datetime); //$_POST['meeting_datetime']);
	$stmt->execute();
	$res = $stmt->rowCount();


if($res == 1)
	//record saved
else
	//error?

where the datetime field is nullable :
JavaScript:
CREATE TABLE clients (
  client_id int(11) NOT NULL AUTO_INCREMENT,
  meeting_datetime datetime DEFAULT NULL
  PRIMARY KEY (client_id)
)

snap036.png
 
Top