Jump to content


Photo

Verificar Se Uma Pessoa Irá Realizar Curso No Mesmo Dia


  • Faça o login para participar
4 replies to this topic

#1 Eu_Nana

Eu_Nana

    12 Horas

  • Usuários
  • 291 posts
  • Sexo:Feminino
  • Localidade:SP

Posted 06/07/2009, 15:56

Oie gente

Preciso realizar a seguinte condição:

Verificar se aluno1 que pertence ao curso1 e curso2, irá realizar o curso no mesmo dia.

Como posso fazer isso. Se o aluno1 tiver sido selecionado para fazer o curso1 e curso2 no mesmo dia, devo realizar uma inversão, por exemplo se o curso for quarta-feira, jogar um curso para quinta-feira.

Alguém pode me ajudar, como posso fazer isso?

Edição feita por: Eu_Nana, 06/07/2009, 16:04.


#2 Snippet

Snippet

    Novato no fórum

  • Usuários
  • 5 posts
  • Sexo:Não informado

Posted 06/07/2009, 17:07

Oie gente

Preciso realizar a seguinte condição:

Verificar se aluno1 que pertence ao curso1 e curso2, irá realizar o curso no mesmo dia.

Como posso fazer isso. Se o aluno1 tiver sido selecionado para fazer o curso1 e curso2 no mesmo dia, devo realizar uma inversão, por exemplo se o curso for quarta-feira, jogar um curso para quinta-feira.

Alguém pode me ajudar, como posso fazer isso?


Como foi montado o banco, quais tabela vc usa?
<!-- Deus não escolhe os capacitados mas capacita os escolhidos. -->

#3 Eu_Nana

Eu_Nana

    12 Horas

  • Usuários
  • 291 posts
  • Sexo:Feminino
  • Localidade:SP

Posted 07/07/2009, 09:06

Oie gente

Preciso realizar a seguinte condição:

Verificar se aluno1 que pertence ao curso1 e curso2, irá realizar o curso no mesmo dia.

Como posso fazer isso. Se o aluno1 tiver sido selecionado para fazer o curso1 e curso2 no mesmo dia, devo realizar uma inversão, por exemplo se o curso for quarta-feira, jogar um curso para quinta-feira.

Alguém pode me ajudar, como posso fazer isso?


Como foi montado o banco, quais tabela vc usa?


No banco possuo duas tabelas: a tabela cursos com os campos: id, nome_curso e a tabela cursos_selecionados comos campos: id, nome, curso1 e curso2.

#4 Renan L. Queiroz

Renan L. Queiroz

    Mestre

  • Usuários
  • 690 posts
  • Sexo:Masculino
  • Localidade:Brasilia - DF

Posted 07/07/2009, 12:00

Vendo sua modelagem:

- cursos
id, nome_curso

- cursos_selecionados
id, nome, curso1, curso2

dessa forma fica inviável saber que dia cada curso está alocado!
Existem mais entidades? Mais atributos para as mesmas citadas?

Especialidade: Desenvolvimento e Banco de Dados.


Este post lhe ajudou? Agradeça: Posted Image


#5 Eu_Nana

Eu_Nana

    12 Horas

  • Usuários
  • 291 posts
  • Sexo:Feminino
  • Localidade:SP

Posted 07/07/2009, 12:53

Vendo sua modelagem:

- cursos
id, nome_curso

- cursos_selecionados
id, nome, curso1, curso2

dessa forma fica inviável saber que dia cada curso está alocado!
Existem mais entidades? Mais atributos para as mesmas citadas?


bom deixa eu explicar meu problema desde o principio:

Segue abaixo:

Tenho alguma noção em PHP, porém sou iniciante ainda e estou desenvolvendo o seguinte sistema, segue abaixo oq o sistema faz:

Banco de Dados:

Tenho duas tabelas:

Tabela oficinas:

idoficinas | nome_oficinas

Tabela oficinas_selecionadas

id | nome_aluno | oficina1 | oficina2


Programa:

1º - No programa eu tenho um formulário de cadastro, com os campos descritos: nome_aluno | oficina1 | oficina2, onde oficina1 seria a oficina de 1º lugar q a pessoa quer fazer, e oficina2 de 2º lugar. Bom a parte de cadastro esta fazendo certinho.


2º - Depois o sistema faz o seguinte: Soma o total de alunos em determinada oficina e divide pela metade, ou seja, caso tenha 20 alunos na oficina PHP por exemplo, o sistema deve dividir esse numero por 2 e exibindo 10 alunos para fazer a oficina na 4ª feira e o restante na 5ª feira. Pode acontecer tb de ter 21 alunos, o sistema joga 10 na 4ª e os outros 11 na 5ª feira ou o contrário. Isso o sistema tb esta fazendo de forma correta.

3º - Como disse acima a pessoa deve se cadastrar em 2 oficinas. Porém pode acontecer de uma pessoa cair pra realizar as duas oficinas no mesmo dia, esse é o meu problema. Não estou conseguindo fazer essa parte. Por exemplo a pessoa(Maria) se cadastrou para as oficinas: PHP e MySQL, e na hora da exibição dos nomes por curso, o nome Maria aparece para realizar as duas oficinas na 4ª feira, sendo que as duas oficinas são realizadas no mesmo horario. Tenho q verificar se o nome de Maria esta sendo exibido na 4ª feira e inverter, ou seja, jogar ela para a 5ª feira. Oq eu fiz esta invertendo, porém ele joga a comparação na tela.

Para exibir os nomes tenho um select com as opções de oficinas, onde selecionando a oficina PHP todos os nomes serão exibidos em seus respectivos lugares, metade na 4ª e a outra metade na 5ª feira.


Vejam como eu fiz:
include "include/conexao.php";                            $oficinas = $_POST['oficinas'];                        echo $oficinas;                                                                        if(!empty($oficinas))                        {                            $sql = "select nome, nome_oficina, oficina1, count(*) from oficinas inner join oficinas_selecionadas on oficinas.idoficinas=oficinas_selecionadas.oficina1 where oficina1='$oficinas' or oficina2='$oficinas'group by nome, nome_oficina, oficina1";                                                                                                            $rs = mysql_query($sql,$con) or die (mysql_error());    ?>                                                                                   while($linha = mysql_fetch_array($rs))        {            $arrayPessoas[] = $linha['nome']; // Coloca os nomes dentro de um array            $nome_bd = $linha['nome'];            $nome_oficina = $linha['oficinas'];            //echo $nome_oficina;        }                $quantidadePessoas = count($arrayPessoas); // Conta a quantidade de nomes existentes dentro do array "$arrayPessoas"        $divisaoPessoas = $quantidadePessoas/2; // Divide a quantidade existente no array por 2        $quartaFeira = ceil($divisaoPessoas); // Arredonda o resultado da divisão para cima        $pessoasRestantes = $quantidadePessoas - $quartaFeira; // Não está sendo usado em lugar nenhum. Coloquei apenas por colocar    ?>                                                                                                                                              Oficina Temática:   - <strong class='bbc'>Quarta-Feira</strong>                                                                                                                                                                                                                                                                                                                                                                                                    // FOR quarta-feira    for($i = 0; $i < $quartaFeira; $i++)    {        $arrayQuartaFeira[] = $arrayPessoas[$i]; // Guarda os nomes deste dia em um array para comparação no próximo array deste dia           echo htmlentities(($arrayPessoas[$i]), ENT_QUOTES, "UTF-8").'';    }    echo"";                    ?>                                                                                                                                                                                                                                               Oficina Temática:   - <strong class='bbc'>Quinta-Feira</strong>                                                                                                                                                                                                                                                      // FOR quinta-feira                    for($i = $quartaFeira; $i < $quantidadePessoas; $i++)                    {                        // Guarda os nomes deste dia em um array para comparação no próximo array deste dia                        $arrayQuintaFeira[] = $arrayPessoas[$i];                        echo htmlentities(($arrayPessoas[$i]), ENT_QUOTES, "UTF-8").'';                    }                ?>                                                              echo"";        $oficinas = $_POST['oficinas'];    echo $oficinas;        $result = mysql_query("SELECT * FROM oficinas_selecionadas where oficina2 = '$oficinas' or oficina1 = '$oficinas'");        $arrayPessoas2 = array();    $arrayQuartaFeira2 = array();    $arrayQuintaFeira2=array();    while($linha = mysql_fetch_array($result))    {        $arrayPessoas2[] = $linha['nome']; // Coloca os nomes dentro de um array        $nome_bd = $linha['nome'];            $nome_oficina = $linha['oficinas'];    }        $i = 0;        foreach($arrayPessoas2 as $valor)    {        if($i % 2)        {            if(!in_array($valor, $arrayQuartaFeira)) //verifica se o nome atual existe no array de quarta-feira            {                $arrayQuartaFeira2[] = $valor;            }            else            {                $arrayQuintaFeira2[] = $valor;            }        }        else        {            if(!in_array($valor, $arrayQuintaFeira)) //verifica se o nome atual existe no array de quinta-feira            {                $arrayQuintaFeira2[] = $valor;            }            else            {                $arrayQuartaFeira2[] = $valor;            }        }        $i++;    }                foreach($arrayQuartaFeira2 as $nomeAluno)    {        echo $nomeAluno."";    }    echo"";    foreach($arrayQuintaFeira2 as $nomeAluno)    {        echo  htmlentities (($nomeAluno), ENT_QUOTES, "UTF-8")."";    }        ?>                                                                                                                 }//fim do if        mysql_close($con);?>

E vejam tb a imagem de exibição com a inversão para um determinado aluno:


Porém não é exatamente isso q eu quero.

Tenho um select com as seguintes opções de oficinas para consulta:

Selecione       PHP       MySQL       JSP       PostGre       Flash       Dreamweaver


Qnd seleciono PHP por exemplo ele exibe os alunos conforme dito acima, por exemplo Maria. Dps qnd seleciono MySQL, se a Maria tb estiver nessa oficina, o sistema deve verificar se na oficina anterior ela esta selecionada para realizar a oficina na quarta ou quinta, se na oficina de MySQl ela estiver para realizar na 5ª por exemplo e na oficina de PHP tb na 5ª, o sistema deve realizar a inversão, jogando uma das oficinas para 4ª feira.

Alguém pode me ajudar por favor.....sou iniciante e estou com dificuldades de fazer isso.

Vc entendeu doq preciso? Se vc puder me ajudar...eu preciso entregar isso e simplesmente travei aqui.....

Attached Files






1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq