Cách chèn ngày từ datepicker trong mysql bằng php
Tôi đang cố gắng tạo một lịch đơn giản để người dùng có thể thêm/xóa ngày khả dụng của họ. Phần này hoạt động cho đến nay. Bây giờ, điều tôi đang gặp sự cố là làm nổi bật các ngày đã chọn được tìm nạp từ cơ sở dữ liệu MySQL
Đây là mã của tôi
// HTML
____1// PHP
// adapter-set.php
$post_date = $_POST['date'];
$find_query = $db->prepare["SELECT user_id FROM user_dates WHERE date_available = :date_available"];
$find_query->bindParam[':date_available', $post_date];
$find_query->execute[];
$result_find = $find_query->fetchAll[PDO::FETCH_ASSOC];
if[count[$result_find] > 0] {
foreach[$result_find as $row] {
$user_id = $row['user_id'];
}
$delete_query = $db->prepare["DELETE FROM user_dates WHERE user_id = :user_id"];
$delete_query->bindParam[':user_id', $user_id];
$delete_query->execute[];
$result_delete = $delete_query->execute[];
if[$result_delete == false] {
echo 'delete false';
} else {
echo 'delete success';
}
} else {
$insert_query = $db->prepare["INSERT INTO user_dates[date_available] VALUES[:date_available]"];
$insert_query->bindParam[':date_available', $post_date];
$result_insert = $insert_query->execute[];
if[$result_insert == false] {
echo 'insert false';
} else {
echo 'insert success';
}
}
Đoạn mã trên hoạt động tốt. Nó chèn và xóa một hàng ngày trong bảng cơ sở dữ liệu MySQL dựa trên một cú nhấp chuột
Bây giờ điều tôi muốn làm là đánh dấu tất cả các ngày "có sẵn" đã được chèn vào cơ sở dữ liệu; . Đây là mã của tôi cho điều đó. Nhưng nó dường như không hoạt động. Không có lỗi. Nó chỉ không làm nổi bật ngày đã chèn. Bạn có thể cho tôi biết những gì tôi đang làm sai?
// JQUERY
$[document].ready[function[] {
$.post['snippets/adapter-fetch.php', {}, function[data]{
$["#datetimepicker1"].datepicker[{
datesEnabled : data.datesEnabled
}];
}, 'json'];
}];
// PHP
// adapter-fetch.php
$global_user_id = 5;
$find_query = $db->prepare["SELECT date_available FROM user_dates WHERE user_id = :user_id"];
$find_query->bindParam[':user_id', $global_user_id];
$find_query->execute[];
$result_find = $find_query->fetchAll[PDO::FETCH_ASSOC];
if[count[$result_find] > 0] {
foreach[$result_find as $row] {
$date_available = $row['date_available'];
echo $date_available;
}
} else {
echo 'not dates available';
}
Liên kết để bình luậnChia sẻ trên các trang web khác
Nhiều tùy chọn chia sẻ hơn requinix
Đăng ngày 28 tháng 6 năm 2021
requinix
-
- quản trị viên
- Địa điểm. Mỹ/Los_Angeles
Đăng ngày 28 tháng 6 năm 2021
Bạn đã xem tìm nạp bộ điều hợp đầu ra chưa. php đang trở lại?
Liên kết để bình luậnChia sẻ trên các trang web khác
Nhiều tùy chọn chia sẻ hơnimgrooot
Đăng ngày 28 tháng 6 năm 2021
imgrooot
Đăng ngày 28 tháng 6 năm 2021 [đã chỉnh sửa]
1 giờ trước, requinix said
Bạn đã xem tìm nạp bộ điều hợp đầu ra chưa. php đang trở lại?
Tôi đã sử dụng cảnh báo để trả lại đầu ra nhưng nó không hoạt động. tôi có thể làm sai. Không có cửa sổ bật lên nào xuất hiện
$.post['snippets/adapter-fetch.php', {}, function[data]{
$["#datetimepicker1"].datepicker[{
datesEnabled : data.datesEnabled
alert[data];
}];
}, 'json'];
Nó mang lại cho tôi lỗi này
Uncaught SyntaxError: Unexpected identifier
Đã chỉnh sửa ngày 28 tháng 6 năm 2021 bởi imgroootLiên kết để bình luậnChia sẻ trên các trang web khác
Nhiều tùy chọn chia sẻ hơn requinix
Đăng ngày 28 tháng 6 năm 2021
requinix
-
- quản trị viên
- Địa điểm. Mỹ/Los_Angeles
Đăng ngày 28 tháng 6 năm 2021
Chắc chắn không đúng cú pháp
Bạn quen thuộc với Javascript nhiều?
Liên kết để bình luậnChia sẻ trên các trang web khác
Nhiều tùy chọn chia sẻ hơnimgrooot
Đăng ngày 28 tháng 6 năm 2021
imgrooot
Đăng ngày 28 tháng 6 năm 2021 [đã chỉnh sửa]
30 phút trước, requinix said
Chắc chắn không đúng cú pháp
Bạn quen thuộc với Javascript nhiều?
Được rồi vì vậy tôi đã khắc phục vấn đề đó. Cảnh báo sẽ không hoạt động nếu tôi có "json" trong hàm. Đây là mã được cập nhật
$.post['snippets/adapter-fetch.php', {},
function[data] {
$["#datetimepicker1"].datepicker[{
datesEnabled : data.datesEnabled
}];
alert[data];
}];
Nó trả về ngày chính xác [ví dụ:. yy-mm-dd] từ bộ điều hợp-tìm nạp. php. Bây giờ, tôi cần biết làm cách nào để đánh dấu những ngày này trên công cụ chọn ngày?
Đã chỉnh sửa ngày 28 tháng 6 năm 2021 bởi imgroootLiên kết để bình luậnChia sẻ trên các trang web khác
Nhiều tùy chọn chia sẻ hơn requinix
Đăng ngày 28 tháng 6 năm 2021
requinix
-
- quản trị viên
- Địa điểm. Mỹ/Los_Angeles
Đăng ngày 28 tháng 6 năm 2021
Chính xác những gì đã làm cảnh báo cho thấy? . đăng nhập và sao chép/dán những gì bạn nhận được trong bảng điều khiển
Liên kết để bình luậnChia sẻ trên các trang web khác
Nhiều tùy chọn chia sẻ hơnimgrooot
Đăng ngày 28 tháng 6 năm 2021
imgrooot
Đăng ngày 28 tháng 6 năm 2021 [đã chỉnh sửa]
6 phút trước, requinix said
Chính xác những gì đã làm cảnh báo cho thấy? . đăng nhập và sao chép/dán những gì bạn nhận được trong bảng điều khiển
Cảnh báo hiển thị ngày mà người dùng đã chèn vào cơ sở dữ liệu. Cùng một đầu ra khi sử dụng bảng điều khiển. đăng nhập
Như thế này. Hiển thị ba ngày khác nhau mà không có khoảng cách giữa chúng
________số 8
Đã chỉnh sửa ngày 28 tháng 6 năm 2021 bởi imgroootLiên kết để bình luậnChia sẻ trên các trang web khác
Nhiều tùy chọn chia sẻ hơn requinix
Đăng ngày 28 tháng 6 năm 2021
requinix
-
- quản trị viên
- Địa điểm. Mỹ/Los_Angeles
Đăng ngày 28 tháng 6 năm 2021
Tôi không biết bạn nghĩ gì, nhưng đó không phải là một buổi hẹn hò. Đó là một loạt các con số và dấu gạch nối
bạn có mong đợi điều này
$.post['snippets/adapter-fetch.php', {},
function[data] {
$["#datetimepicker1"].datepicker[{
datesEnabled : "2021-06-022021-06-032021-06-01"
}];
}];
làm việc?
Tiếp tục suy nghĩ theo hướng đó trong vài phút và xem bạn có thể nghĩ ra điều gì
Liên kết để bình luậnChia sẻ trên các trang web khác
Nhiều tùy chọn chia sẻ hơnimgrooot
Đăng ngày 1 tháng 7 năm 2021
imgrooot
Đăng ngày 1 tháng 7 năm 2021
Vào ngày 28/6/2021 lúc 7. 53 giờ chiều, requinix nói
Tôi không biết bạn nghĩ gì, nhưng đó không phải là một buổi hẹn hò. Đó là một loạt các con số và dấu gạch nối
bạn có mong đợi điều này
$.post['snippets/adapter-fetch.php', {},
function[data] {
$["#datetimepicker1"].datepicker[{
datesEnabled : "2021-06-022021-06-032021-06-01"
}];
}];
làm việc?
Tiếp tục suy nghĩ theo hướng đó trong vài phút và xem bạn có thể nghĩ ra điều gì
Tôi cuối cùng đã giải quyết vấn đề này. Nó phức tạp hơn rất nhiều so với tôi tưởng tượng ban đầu. Đây là mã
// Jquery/Ajax
$[document].ready[function [] {
$['#datetimepicker1'].datepicker[{
dateFormat: "yy-mm-dd",
multidate: true,
onSelect: function [] {
var getDate = $["#datetimepicker1"].val[];
$.ajax[{
type: "POST", //or GET. Whichever floats your boat.
url: "snippets/adapter-set.php",
data: { date: getDate },
success: function[data] {
// alert[data];
},
error: function[] {
alert["Error."];
}
}];
}
}];
}];
1// Jquery/Ajax
$[document].ready[function [] {
$['#datetimepicker1'].datepicker[{
dateFormat: "yy-mm-dd",
multidate: true,
onSelect: function [] {
var getDate = $["#datetimepicker1"].val[];
$.ajax[{
type: "POST", //or GET. Whichever floats your boat.
url: "snippets/adapter-set.php",
data: { date: getDate },
success: function[data] {
// alert[data];
},
error: function[] {
alert["Error."];
}
}];
}
}];
}];
2
Vì vậy, bây giờ đoạn mã trên sẽ đánh dấu tất cả các ngày tôi tìm nạp từ bảng cơ sở dữ liệu. Và mã ban đầu của tôi sẽ chèn và xóa các mục nhập ngày khi nhấp vào một ngày trên Lịch.
Đã nói rằng tôi có một vấn đề mới. Đây là mã đầy đủ kết hợp
// Jquery/Ajax
$[document].ready[function [] {
$['#datetimepicker1'].datepicker[{
dateFormat: "yy-mm-dd",
multidate: true,
onSelect: function [] {
var getDate = $["#datetimepicker1"].val[];
$.ajax[{
type: "POST", //or GET. Whichever floats your boat.
url: "snippets/adapter-set.php",
data: { date: getDate },
success: function[data] {
// alert[data];
},
error: function[] {
alert["Error."];
}
}];
}
}];
}];
3Có vẻ như mã ajax làm nổi bật ngày sẽ không hoạt động nếu tôi có cả hai cùng nhau. Bạn có thể cho tôi biết lý do tại sao tôi không thể sử dụng "$['#datetimepicker1']. datepicker" hai lần trong cùng một tập lệnh? Nó không trả về bất kỳ lỗi nào. Nó chỉ không làm nổi bật ngày tháng
Liên kết để bình luậnChia sẻ trên các trang web khác
Nhiều tùy chọn chia sẻ hơn requinix
Đăng ngày 1 tháng 7 năm 2021
requinix
-
- quản trị viên
- Địa điểm. Mỹ/Los_Angeles
Đăng ngày 1 tháng 7 năm 2021
Công cụ chọn ngày chỉ cho phép một công cụ chọn ngày tồn tại trên #datetimepicker1 tại một thời điểm. Hãy tưởng tượng các loại xung đột có thể xảy ra nếu nó cố chạy hai lần trên cùng một điều khiển
Mã công cụ chọn ngày đầu tiên của bạn cần được "đánh dấu" để biết ngày nào cần đánh dấu. Thay vì sử dụng biến đến từ $. ajax, hãy sử dụng một biến riêng biệt và yêu cầu AJAX đặt biến đó. Trong một thời gian ngắn sau khi tải trang, bộ chọn ngày sẽ được thiết lập và không làm nổi bật bất kỳ ngày nào, nhưng người dùng có thể sẽ không thể nhấn vào bộ chọn ngày đủ nhanh để thấy trường hợp đó
Với việc khởi tạo công cụ hẹn hò diễn ra bên ngoài AJAX, bạn có thể dễ dàng kết hợp các tùy chọn beforeShowDay và onSelect vào đối tượng cấu hình mà công cụ hẹn hò cần
Liên kết để bình luậnChia sẻ trên các trang web khác
Nhiều tùy chọn chia sẻ hơnimgrooot
Đăng ngày 1 tháng 7 năm 2021
imgrooot
Đăng ngày 1 tháng 7 năm 2021
36 phút trước, requinix said
Công cụ chọn ngày chỉ cho phép một công cụ chọn ngày tồn tại trên #datetimepicker1 tại một thời điểm. Hãy tưởng tượng các loại xung đột có thể xảy ra nếu nó cố chạy hai lần trên cùng một điều khiển
Mã công cụ chọn ngày đầu tiên của bạn cần được "đánh dấu" để biết ngày nào cần đánh dấu. Thay vì sử dụng biến đến từ $. ajax, hãy sử dụng một biến riêng biệt và yêu cầu AJAX đặt biến đó. Trong một thời gian ngắn sau khi tải trang, bộ chọn ngày sẽ được thiết lập và không làm nổi bật bất kỳ ngày nào, nhưng người dùng có thể sẽ không thể nhấn vào bộ chọn ngày đủ nhanh để thấy trường hợp đó
Với việc khởi tạo công cụ hẹn hò diễn ra bên ngoài AJAX, bạn có thể dễ dàng kết hợp các tùy chọn beforeShowDay và onSelect vào đối tượng cấu hình mà công cụ hẹn hò cần
Tôi hiểu những gì bạn đang cố gắng nói. Bạn có thể chỉ cho tôi một ví dụ về cách thiết lập một biến bên ngoài ajax bằng mã của tôi không? .
Liên kết để bình luậnChia sẻ trên các trang web khác
Nhiều tùy chọn chia sẻ hơn requinix
Đăng ngày 1 tháng 7 năm 2021
requinix
-
- quản trị viên
- Địa điểm. Mỹ/Los_Angeles
Đăng ngày 1 tháng 7 năm 2021
// Jquery/Ajax
$[document].ready[function [] {
$['#datetimepicker1'].datepicker[{
dateFormat: "yy-mm-dd",
multidate: true,
onSelect: function [] {
var getDate = $["#datetimepicker1"].val[];
$.ajax[{
type: "POST", //or GET. Whichever floats your boat.
url: "snippets/adapter-set.php",
data: { date: getDate },
success: function[data] {
// alert[data];
},
error: function[] {
alert["Error."];
}
}];
}
}];
}];
4
Liên kết để bình luậnChia sẻ trên các trang web khác
Nhiều tùy chọn chia sẻ hơnimgrooot
Đăng ngày 2 tháng 7 năm 2021
imgrooot
Đăng ngày 2 tháng 7 năm 2021
23 giờ trước, requinix said
// Jquery/Ajax
$[document].ready[function [] {
$['#datetimepicker1'].datepicker[{
dateFormat: "yy-mm-dd",
multidate: true,
onSelect: function [] {
var getDate = $["#datetimepicker1"].val[];
$.ajax[{
type: "POST", //or GET. Whichever floats your boat.
url: "snippets/adapter-set.php",
data: { date: getDate },
success: function[data] {
// alert[data];
},
error: function[] {
alert["Error."];
}
}];
}
}];
}];
4
Đã thử phương pháp của bạn nhiều cách khác nhau và nó vẫn không hoạt động.
Bạn có thể vui lòng thêm các chỉnh sửa của mình vào toàn bộ mã bên dưới thay vì các bit và mẩu không? . Nó không trả về bất kỳ lỗi nào, nhưng nó cũng không làm nổi bật ngày tháng
// Jquery/Ajax
$[document].ready[function [] {
$['#datetimepicker1'].datepicker[{
dateFormat: "yy-mm-dd",
multidate: true,
onSelect: function [] {
var getDate = $["#datetimepicker1"].val[];
$.ajax[{
type: "POST", //or GET. Whichever floats your boat.
url: "snippets/adapter-set.php",
data: { date: getDate },
success: function[data] {
// alert[data];
},
error: function[] {
alert["Error."];
}
}];
}
}];
}];
6
Liên kết để bình luậnChia sẻ trên các trang web khác
Nhiều tùy chọn chia sẻ hơn requinix
Đăng ngày 2 tháng 7 năm 2021
requinix
-
- quản trị viên
- Địa điểm. Mỹ/Los_Angeles
Đăng ngày 2 tháng 7 năm 2021
Tôi sẽ không viết mã cho bạn. Thay vào đó, tôi sẽ giới thiệu bạn đến bài viết trước của tôi, nơi tôi đã nói
Vào ngày 30/6/2021 lúc 9. 15 giờ chiều, requinix nói
Công cụ chọn ngày chỉ cho phép một công cụ chọn ngày tồn tại trên #datetimepicker1 tại một thời điểm. Hãy tưởng tượng các loại xung đột có thể xảy ra nếu nó cố chạy hai lần trên cùng một điều khiển
Mã công cụ chọn ngày đầu tiên của bạn cần được "đánh dấu" để biết ngày nào cần đánh dấu. Thay vì sử dụng biến đến từ $. ajax, hãy sử dụng một biến riêng biệt và yêu cầu AJAX đặt biến đó. Trong một thời gian ngắn sau khi tải trang, bộ chọn ngày sẽ được thiết lập và không làm nổi bật bất kỳ ngày nào, nhưng người dùng có thể sẽ không thể nhấn vào bộ chọn ngày đủ nhanh để thấy trường hợp đó
Với việc khởi tạo công cụ hẹn hò diễn ra bên ngoài AJAX, bạn có thể dễ dàng kết hợp các tùy chọn beforeShowDay và onSelect vào đối tượng cấu hình mà công cụ hẹn hò cần
Xem mã của bạn, đọc lại bài đăng đó và quyết định xem mã của bạn có được phản ánh chính xác bởi các tuyên bố tôi đã đưa ra hay không
Liên kết để bình luậnChia sẻ trên các trang web khác
Nhiều tùy chọn chia sẻ hơnimgrooot
Đăng ngày 2 tháng 7 năm 2021
imgrooot
Đăng ngày 2 tháng 7 năm 2021 [đã chỉnh sửa]
1 giờ trước, requinix said
Tôi sẽ không viết mã cho bạn. Thay vào đó, tôi sẽ giới thiệu bạn đến bài viết trước của tôi, nơi tôi đã nói
Xem mã của bạn, đọc lại bài đăng đó và quyết định xem mã của bạn có được phản ánh chính xác bởi các tuyên bố tôi đã đưa ra hay không
Tôi không yêu cầu bạn làm lại toàn bộ mã. Mã tôi đã làm việc. Nó chỉ cần được định dạng lại để cả hai hoạt động trên cùng một trang.
Và tôi hiểu về việc chỉ có thể sử dụng một phiên bản công cụ hẹn hò duy nhất. Và như tôi đã nói trước đây, tôi đã thử nhiều biến thể khác nhau trong 24 giờ qua và không có biến thể nào hiệu quả. Vì vậy, hoặc tôi tiếp tục đi theo vòng tròn hoặc bạn có thể giúp tôi và chèn đoạn mã của bạn vào đúng chỗ vào mã của tôi. Nó giúp nhìn thấy nó một cách trực quan
Đây là mã được cập nhật với những gì bạn đang cố nói. Nó không hiển thị Lịch nữa và tôi gặp lỗi này trong bảng điều khiển "Uncaught SyntaxError. Số nhận dạng không mong đợi"
// Jquery/Ajax
$[document].ready[function [] {
$['#datetimepicker1'].datepicker[{
dateFormat: "yy-mm-dd",
multidate: true,
onSelect: function [] {
var getDate = $["#datetimepicker1"].val[];
$.ajax[{
type: "POST", //or GET. Whichever floats your boat.
url: "snippets/adapter-set.php",
data: { date: getDate },
success: function[data] {
// alert[data];
},
error: function[] {
alert["Error."];
}
}];
}
}];
}];
7
Đã chỉnh sửa ngày 2 tháng 7 năm 2021 bởi imgroootLiên kết để bình luậnChia sẻ trên các trang web khác
Nhiều tùy chọn chia sẻ hơnimgrooot
Đăng ngày 2 tháng 7 năm 2021
imgrooot
Đăng ngày 2 tháng 7 năm 2021
tôi tìm thấy sai lầm. Tất cả những gì tôi phải làm là thêm dấu "," sau beforeShowday để tách nó khỏi hàm onSelect. Bạn có thể vừa nói với tôi điều này
Ngoài ra, tôi thậm chí không phải tạo một biến bên ngoài ajax như bạn đã nói với tôi trước đây. Nó hoạt động tốt mà không có nó.
Làm cách nào tôi có thể chèn ngày và giờ hiện tại vào MySQL bằng PHP?
Làm cách nào để lấy ngày tìm nạp từ cơ sở dữ liệu trong PHP?
Tại sao không sử dụng Thời gian, Ngày, Năm trong cột riêng $date = date['d']; . 19 Tháng ba, 2014 lúc 11. 17
bạn có thể thử ngày này['Y. m. d', strtotime[$temp]]; . 19 Tháng ba, 2014 lúc 11. 18
Kiểu dữ liệu cho ngày trong MySQL là gì?
Loại DATETIME được sử dụng cho các giá trị chứa cả phần ngày và giờ. MySQL truy xuất và hiển thị các giá trị DATETIME trong ' YYYY-MM-DD hh. mm. định dạng ss. Phạm vi được hỗ trợ là '1000-01-01 00. 00. 00' đến '9999-12-31 23. 59. 59'. Kiểu dữ liệu DẤU THỜI GIAN được sử dụng cho các giá trị chứa cả phần ngày và giờ.
MySQL lưu trữ ngày tháng như thế nào?
MySQL đi kèm với các kiểu dữ liệu sau để lưu trữ ngày hoặc giá trị ngày/giờ trong cơ sở dữ liệu. .
NGÀY - định dạng YYYY-MM-DD
DATETIME - định dạng. YYYY-MM-DD HH. MI. SS
DẤU THỜI GIAN - định dạng. YYYY-MM-DD HH. MI. SS
NĂM - định dạng YYYY hoặc YY