DatePicker, включающий конкретные даты из базы данных

0

Я пытаюсь включить только даты, которые находятся в моей базе данных, после нескольких исследований я придумал этот код

Это мой сценарий

 <script>
	<?php
	$dis = pg_query("SELECT 'date_purchased' FROM 'tree_solds';");
	foreach ($dis as $disa){
		$dis .="'".$disa."',";
		}
		$dis = substr($dis,0,-1);
	?>
	
	var array=[<?php echo $dis; ?>];
	
	jQuery(document).ready(function($) {
		$( "#datepicker" ).datepicker({ maxDate: new Date(),
		dateFormat: "yy-mm-dd",
		beforeShowDay: function(date){
			if($.inArray($.datepicker.formatDate('yy-mm-dd', date), array) > -1)
			{
				return [true,"","Available"];
			}
				else{
				return [false,'',"Not Available"];
			}
			}
		});
	});
	</script>

и это мой html файл

<div><input type="text" id="datepicker" />
		

Когда я запрашиваю консоль, это показывает ошибку

 GET http://localhost/resources/demos/style.css 
index.php:40 Uncaught SyntaxError: Unexpected token <
morris.min.js:6 Uncaught Error: Graph container element not found

Это моя линия от 37 до 40

<link rel="stylesheet" href="/resources/demos/style.css">
	 
	 <script>
	<?php

Но в настоящее время, когда я нажимаю на текстовое поле, ничего не отображается. Я просматривал код в течение нескольких часов и, похоже, не обнаружил ошибок.

Все работало нормально, прежде чем я вошел в эту часть

<?php
	$dis = pg_query("SELECT 'date_purchased' FROM 'tree_solds';");
	foreach ($dis as $disa){
		$dis .="'".$disa."',";
		}
		$dis = substr($dis,0,-1);
	?>
	
	var array=[<?php echo $dis; ?>];

Кто-нибудь может мне помочь, пожалуйста! благодаря

  • 0
    Вы включили jQuery и библиотеку DatePicker?
  • 0
    @ S.Pols: да, я сделал :)
Показать ещё 4 комментария
Теги:
datepicker

1 ответ

0

Удалите maxDate: new Date() из инициализации. Скорее сохраните дату в некоторой переменной, а затем установите maxDate в эту переменную. Также удалите этот файл, который выдает ошибку и попробуйте.

Демо: http://jsfiddle.net/lotusgodkk/yXMKC/1138/

$(document).ready(function ($) {
    var array = ["2014-12-9", "2014-12-12", "2014-12-15"]; //for testing
    $("#datepicker").datepicker({
        //maxDate: new Date(),
        dateFormat: "yy-mm-dd",
        beforeShowDay: function (date) {
            if ($.inArray($.datepicker.formatDate('yy-mm-dd', date), array) > -1) {
                console.log('in')
                return [true, "", "Available"];
            } else {
                console.log('n')
                return [false, '', "Not Available"];
            }
        }
    });
});
  • 0
    Благодарю. Это первый код, который я попробовал, который сработал, но я пытаюсь добиться того, чтобы включить определенные дни, выбранные из базы данных, а не из массивов :)
  • 0
    Вы можете хранить даты базы данных в массиве javascript и использовать тот же массив внутри beforeShowDay.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню