estou eu aqui de novo, com outra dificuldade em relação a um sistema. Seguinte, criei um formulário simples onde carrega o nome dos alunos cadastrados no banco em Select, e após selecionar o aluno, carrega automaticamente os outros dados dele (utilizei JQuery).
O problema que estou tendo é o seguinte: nesses campos, eu preciso comparar as datas entre alguns deles, e validar se aquela data registrada é válida ou não, pois por exemplo: um aluno não pode ter data de curso marcada, antes de ter embarcado. E a minha dificuldade esta exatamente ai, em como eu vou comparar esses dados. Atualmente, o código esta assim:
<?php
include ('conecta_banco.php');
include ('../functions.php');
$aluno_id = $_POST['aluno_id'];
$acao = $_REQUEST['acao'];
$data_embarque;
$data_curso;
$data_acomodacao;
$data_passagem;
$data_seguro;
// INICIO SWITCH $ACAO
switch ($acao) {
/*
* CASE carregarEmbarque
*/
case 'carregarEmbarque':
$sql_data_embarque = "SELECT aluno_data_embarque, aluno_id " .
"FROM alaluno " .
"WHERE aluno_id =".$aluno_id;
$qr_data_embarque = mysql_query($sql_data_embarque) or die(mysql_error());
if(mysql_num_rows($qr_data_embarque) == 0){
echo '<option value="0">'.htmlentities('Não há data de embarque para este aluno').'</option>';
}else{
while($ln = mysql_fetch_assoc($qr_data_embarque)){
$GLOBALS ['data_embarque'] = $ln['aluno_data_embarque'];
echo '<option value="'.$ln['aluno_id'].'">'.utf8_encode(converte_data($ln['aluno_data_embarque'])).'</option>';
echo "<script> alert('Embarque: ".$data_embarque."'); </script> ";
}
}
break;
/*
* CASE carregarCurso
*/
case 'carregarCurso':
$sql_data_inicio = "SELECT alcompra_servico.compra_id, srcurso.curso_data_inicio " .
"FROM alcompra_servico " .
"INNER JOIN srcurso " .
"ON alcompra_servico.compra_id = srcurso.compra_id " .
"WHERE alcompra_servico.aluno_id =".$aluno_id;
$qr_data_inicio = mysql_query($sql_data_inicio) or die(mysql_error());
if(mysql_num_rows($qr_data_inicio) == 0){
echo '<option value="0">'.htmlentities('Não há data estabelecida para este aluno').'</option>';
}else{
while($ln = mysql_fetch_assoc($qr_data_inicio)){
$GLOBALS['data_curso'] = $ln['curso_data_inicio'];
echo '<option value="'.$ln['compra_id'].'">'.utf8_encode(converte_data($ln['curso_data_inicio'])).'</option>';
echo "<script> alert('Embarque: ".$data_embarque.", Curso: ".$data_curso."'); </script> ";
//calcula_curso($data_embarque, $data_curso);
}
}
break;
O que acontece é que o conteúdo da variável $data_embarque fica em branco quando chamo ela no segundo "case". Como podem ver, eu já testei até declarar a variável no início, e depois dentro de cada laço chamar ela como GLOBAL. Não sei se é a maneira correta, e acredito que não, mas foram os testes possíveis. A idéia é pegar esses valores, e fazer a comparação através de uma função. ALguém teria uma idéia de como poderia fazer isso, já que terei de fazer em outros laços?
Obs.: o script de alerta é apenas para ver se o valor vai ser impresso.
Pergunta
Fábio Esteves
Fala pessoal, beleza?
estou eu aqui de novo, com outra dificuldade em relação a um sistema. Seguinte, criei um formulário simples onde carrega o nome dos alunos cadastrados no banco em Select, e após selecionar o aluno, carrega automaticamente os outros dados dele (utilizei JQuery).
O problema que estou tendo é o seguinte: nesses campos, eu preciso comparar as datas entre alguns deles, e validar se aquela data registrada é válida ou não, pois por exemplo: um aluno não pode ter data de curso marcada, antes de ter embarcado. E a minha dificuldade esta exatamente ai, em como eu vou comparar esses dados. Atualmente, o código esta assim:
O que acontece é que o conteúdo da variável $data_embarque fica em branco quando chamo ela no segundo "case". Como podem ver, eu já testei até declarar a variável no início, e depois dentro de cada laço chamar ela como GLOBAL. Não sei se é a maneira correta, e acredito que não, mas foram os testes possíveis. A idéia é pegar esses valores, e fazer a comparação através de uma função. ALguém teria uma idéia de como poderia fazer isso, já que terei de fazer em outros laços?
Obs.: o script de alerta é apenas para ver se o valor vai ser impresso.
Espero que possam me ajudar.
Abraços
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.