i have a php website, there is a form which user can submit, i want to disable few dates if they are already present in database, so i did like below:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<input id="niy" name="idate" value=""/>
<?php
$queryusersz = "SELECT * FROM invoice";
$dbz = mysqli_query($con, $queryusersz);
while($row = mysqli_fetch_array($dbz)) {
$names[] = $row['idate'];
?>
<script>
var array = <?php $names ?>;
$('#niy').datepicker({
language:'TR',
beforeShowDay: function(date){
var string = jQuery.datepicker.formatDate('yy-mm-dd', date);
return [ array.indexOf(string) == -1 ]
}
});
</script>
<?php }?>
however the input box doesnt show date and neither i get any errors in console, can anyone please help me with this, thanks in advance.
For jQuery DatePicker, You need to add jQuery UI JS and CSS.
There are two things you need to follow:
var array = <?php $names ?>; in JS as It will give error, You need to do JSON Encode or You need to add it in quote.For Exmaple: var array = <?php echo json_encode($names); ?> or var array = '<?php echo implode(",",$names); ?>'
For Example: Right now your code is var array = <?php $names ?>;, It is without echo so that $name value will not store in JS variable until you echo it.
For more reference see below code:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<link href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/ui-lightness/jquery-ui.css" rel="stylesheet">
<input id="niy" name="idate" value=""/>
<?php
$queryusersz = "SELECT * FROM invoice";
$dbz = mysqli_query($con, $queryusersz);
while ($row = mysqli_fetch_array($dbz)) {
$names[] = $row['idate'];
?>
<script>
var array = '<?php echo implode(",",$names) ?>';
$('#niy').datepicker({
language:'TR',
beforeShowDay: function(date){
var string = jQuery.datepicker.formatDate('yy-mm-dd', date);
return [ array.indexOf(string) == -1 ]
}
});
</script>
<?php }?>