我使用dateTimePicker.js,MySQL和PHP來生成在線事件日曆,它允許用戶在日曆中設置日期並註冊它們的名稱,所有數據是存儲在MySQL數據庫中。MySQL,PHP;檢測如果dateTimePicker日期已被採取並禁用它
數據被存儲在表是這樣的:
if (isset($_POST['from']))
{
if ($_POST['from']!="")
{
// Recibimos el fecha de inicio y la fecha final desde el form
$inicio = _formatear($_POST['from']);
// y la formateamos con la funcion _formatear
$final = _formatear($_POST['from']);
// Recibimos el fecha de inicio y la fecha final desde el form
$inicio_normal = $_POST['from'];
// y la formateamos con la funcion _formatear
$final_normal = $_POST['from'];
// Recibimos los demas datos desde el form
$titulo = evaluar($_POST['title']);
// y con la funcion evaluar
$body = evaluar($_POST['title']);
// reemplazamos los caracteres no permitidos
$clase = evaluar($_POST['class']);
//checar si fecha existe
// insertamos el evento
$query="INSERT INTO eventos VALUES(null,'$titulo','$body','','$clase','$inicio','$final','$inicio_normal','$final_normal')";
$query2="INSERT INTO dbbackup VALUES(null,'$titulo','$body','','$clase','$inicio','$final','$inicio_normal','$final_normal')";
// Ejecutamos nuestra sentencia sql
$conexion->query($query);
$conexion->query($query2);
// Obtenemos el ultimo id insertado
$im=$conexion->query("SELECT MAX(id) AS id FROM eventos");
$row = $im->fetch_row();
$id = trim($row[0]);
// para generar el link del evento
$link = "$base_url"."descripcion_evento.php?id=$id";
// y actualizamos su link
$query="UPDATE eventos SET url = '$link' WHERE id = $id";
// Ejecutamos nuestra sentencia sql
$conexion->query($query);
// redireccionamos a nuestro calendario
}
則在一個日曆顯示:
var calendar = $('#calendar').calendar(options);
$('.btn-group button[data-calendar-nav]').each(function()
{
var $this = $(this);
$this.click(function()
{
calendar.navigate($this.data('calendar-nav'));
});
});
$('.btn-group button[data-calendar-view]').each(function()
{
var $this = $(this);
$this.click(function()
{
calendar.view($this.data('calendar-view'));
});
});
$('#first_day').change(function()
{
var value = $(this).val();
value = value.length ? parseInt(value) : null;
calendar.setOptions({first_day: value});
calendar.view();
});
}(jQuery));
所以它看起來像這樣: enter image description here
然後用戶請保存這樣的日期:
藍色和紅色的點是已經採取的日子,顏色只是意味着一個不同的類別,我已經鎖定星期日,星期六和日期在當前日期之前,但我不知道如何禁用已經採取的一天。
我試過使用查詢來獲取「inicio_normal」,這是存儲在我的表中的日期值,然後我將它與「$ inicio」進行了比較,該值是用戶從日曆中選擇的值(在格式化爲日期MySQL可以存儲),所以如果值是相同的,我知道日期已經被採用,如果我可以顯示消息或類似的東西,但它不起作用。
我的數據庫是這樣的:
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(150) COLLATE utf8_spanish_ci DEFAULT NULL,
`body` text COLLATE utf8_spanish_ci NOT NULL,
`url` varchar(150) COLLATE utf8_spanish_ci NOT NULL,
`class` varchar(45) COLLATE utf8_spanish_ci NOT NULL DEFAULT 'event-important',
`start` varchar(15) COLLATE utf8_spanish_ci NOT NULL,
`end` varchar(15) COLLATE utf8_spanish_ci NOT NULL,
`inicio_normal` varchar(50) COLLATE utf8_spanish_ci NOT NULL,
`final_normal` varchar(50) COLLATE utf8_spanish_ci NOT NULL,
PRIMARY KEY (`id`)
任何幫助?謝謝。
'dateTimePicker.js'可以是任何東西。這就是你碰巧在你的系統上有一個名爲的文件。如果它是一個常用的jQuery庫,那麼你應該包含一個鏈接。如果是自定義代碼,則應將其直接包含在您的問題中。 –