Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal,
estou precisando montar um array fora do laço de uma consulta vinda do banco de dados, segue o formato do array que tenho:
var feriado=new Array();
feriado['25/12/2017']='25/12/2017';
feriado['1/1/2018']='1/1/2018';
feriado['13/2/2018']='13/2/2018';
feriado['30/3/2018']='30/3/2018';
feriado['1/4/2018']='1/4/2018';
feriado['21/4/2018']='21/4/2018';
feriado['1/5/2018']='1/5/2018';
feriado['31/5/2018']='31/5/2018';
feriado['7/9/2018']='7/9/2018';
feriado['12/10/2018']='12/10/2018';
feriado['2/11/2018']='2/11/2018';
feriado['15/11/2018']='15/11/2018';
feriado['25/12/2018']='25/12/2018';
com esse array eu faço uma comparação que funciona da seguinte maneira:
if ((numerodasemana === 0) || (numerodasemana === 1) || (datacalendario === feriado[datacalendario])) {
return true;
} else {
return false;
}
mas só que eu queria substituir esses dados por dados vindos do banco de dados, segue a consulta:
$.ajax({
data: 'idatendente='+idatendente,
type:'post', //Definimos o método HTTP usado
dataType: 'json', //Definimos o tipo de retorno
url: 'listar-datas.php',//Definindo o arquivo onde serão buscados os dados
success: function(dados){
$.each(dados, function(i, obj){
feriado = obj.data;
})
}
});
Desde já agradeço a ajuda.Pessoal,
fiz uma coisa muito doida, para no mínimo mostrar as datas junto com o datepicker ao clicar foi
fazer isso:
// início consulta que busca as datas gravadas no banco
var idatendente = "10";
$.ajax({
data: 'idatendente='+idatendente,
type:'post', //Definimos o método HTTP usado
dataType: 'json', //Definimos o tipo de retorno
url: 'model/Cadastros/Calendario/listar-datas.php',//Definindo o arquivo onde serão buscados os dados
success: function(dados){
if (dados.length > 0){
var optionferiado = '';
$.each(dados, function(i, obj){
optionferiado += '<option value="'+obj.data+'">'+obj.data+'</option>';
})
}
$('#selectferiado').html(optionferiado).show();
}
});
$('#seletcdatas').html('<div class="content-block-title">pesquisar</div><ul>'+
'<li>'+
'<div class="item-content">'+
'<div class="item-inner">'+
'<div class="item-input">'+
'<select id="selectferiado"></select>'+
'</div>'+
'</div>'+
'</div>'+
'</li>'+
'</ul>');
$('#seletcdatas').html('<p id="selectferiado"></p>');e no html:
<div class="list-block" id="seletcdatas"></div>
agora como faço para pegar esses valores do select e jogar na comparação dentro do datepicker?
if ((numerodasemana === 0) || (numerodasemana === 1) || (datacalendario === feriado[datacalendario])) {
return true;
}else{
return false;
}
},
o projeto parou por esse motivo e preciso muito de uma ajuda, até mesmo uma ideia
diferente desta que tenho e que funcione, agradeço a ajuda.Dessa forma com variável global retorna apenas um registro.
success: function(dados){
if (dados.length > 0){
$.each(dados, function(i, obj){
diaferiado = obj.dataferiado;
})
}
alert(diaferiado);
}
Consulta no banco:
$qry = mysqli_query($con, "SELECT * FROM calendario where idatendente='$idatendente'");
while($resultado = mysqli_fetch_assoc($qry)){
$vetor[] = array_map('utf8_encode', $resultado);
}
//Passando vetor em forma de json
echo json_encode($vetor);
Será que há alguma maneira de retornar esses dados como uma string e com um determinado formato em bloco?
Assim eu separo os dados com um split e faço a comparação.Pessoal, consegui em parte. Gravei no banco as datas separadas com vírgula
e depois a comparação e funcionou:
var idatendente = "10";
$.ajax({
data: 'idatendente='+idatendente,
type:'post', //Definimos o método HTTP usado
dataType: 'json', //Definimos o tipo de retorno
url: 'model/Cadastros/Calendario/listar-datas.php',//Definindo o arquivo onde serão buscados os dados
success: function(dados){
if (dados.length > 0){
$.each(dados, function(i, obj){
diaferiado = (obj.dataferiado).split(',');
})
}
}
});
// faz a comparacao
if ((numerodasemana === 0) || (numerodasemana === 1) || (diaferiado.indexOf(datacalendario) != -1)) {
return true;
}else{
return false;
}
Senhor Moderador, por favor deixe este post em aberto caso alguém tenha a solução
e possa me ajudar na opção anterior, pois sei que terei muito trabalho para gravar novas datas
e remover datas antigas.
Eu acho que ficou confuso o que quero, na verdade eu preciso desabilitar datas
do calendário do framework7, o atendente precisa desabilitar as datas que não poderá atender
por exemplo: feriado municipal, licença doença, maternidade e outros motivos. Segue o código completo
que desabilita datas do calendário:
// desabilita as datas informadas disabled: function(date){ // formata a data// início consulta que busca as datas gravadas no banco
var idatendente = "10";
$.ajax({
data: 'idatendente='+idatendente,
type:'post', //Definimos o método HTTP usado
dataType: 'json', //Definimos o tipo de retorno
url: 'model/Cadastros/Calendario/listar-datas.php',//Definindo o arquivo onde serão buscados os dados
// fim consulta que busca as datas no banco
// array com as datas setadas na mão
// faz a comparação para desabilitar as datas
// aqui eu faço a comparação do dia 0 e a que são domingo e segunda-feira
// e comparo as datas do array que são feriados
if ((numerodasemana === 0) || (numerodasemana === 1) || (datacalendario === feriado[datacalendario])) {