ZIKOY1 0 Denunciar post Postado Outubro 22, 2008 Olá pessoal estou precisando de ajuda , tenho um sistema para gerar horarios de aula você seleciona a turno , serie e turma e ele lista os horarios para aquela turma, e ele monta a tabela de horarios com while entao sempre vai variar os horaios e numeros de aula só depende do turno , e quando eu vou fazer o update nas linhas para alterar as aulas da semana ele so pega o ultimo dia ou o ultimo sequencial =(id) e grva no banco . a quesntao é como faço para quando fizer a chamada da pagina ele guarda todas as linhasqu eforam listadas no horario e alteradas.. agradeço desde já. Compartilhar este post Link para o post Compartilhar em outros sites
RTDN CONSULTORIA 0 Denunciar post Postado Outubro 22, 2008 Cara, na sua SQL voce pode ver um campo que SEMPRE precise ter conteudo e ai você verifica se ele esta vazio... select * from aula where turno = 'noite' AND evento <> ''; Logo todos que forem turno noite e o EVENTO ou TITULO sei la como voce chama forem diferentes de vazio (Tiverem conteudo) serão listados. Compartilhar este post Link para o post Compartilhar em outros sites
ZIKOY1 0 Denunciar post Postado Outubro 22, 2008 Cara, na sua SQL voce pode ver um campo que SEMPRE precise ter conteudo e ai você verifica se ele esta vazio... select * from aula where turno = 'noite' AND evento <> ''; Logo todos que forem turno noite e o EVENTO ou TITULO sei la como voce chama forem diferentes de vazio (Tiverem conteudo) serão listados. Nao, ele lista todas as aulas tipo - A de 0800 as 0900 ,so que isso eh moontado com while que enquanto ele achar horario para aquele turno ele lista . hora inicio - hora fim | segunda | terça | quarta | quinta | sexta | 0800 - 0900 | PORT \/ | MAT \/ | HIST \/ |MAT \/ | PORT \/| 0900 - 1000 | PORT \/ | MAT \/ |PORT \/|HIST \/ | FISICA \/| \/ --> dropdown da tabela disciplinas Cada linha com hora inicial e final é um horario que e e 5 linha que sao os dias da semana e seria essas linhas que teria que alterar , e o laço so guarda a ultima linha e altera so ela Compartilhar este post Link para o post Compartilhar em outros sites
RTDN CONSULTORIA 0 Denunciar post Postado Outubro 22, 2008 como você esta fazendo essa parte de atualização? teria como demonstrar isso no codigo? pq assim fica dificil Compartilhar este post Link para o post Compartilhar em outros sites
ZIKOY1 0 Denunciar post Postado Outubro 22, 2008 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!-- DED --> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>DED - Cadastro de Alunos</title> <link rel="shortcut icon" href="favicon.ico" /> <link rel="stylesheet" type="text/css" href="../default.css"> </head> <body> <center> <?php //require "../verifica.php"; include( '../include/conexao_oracle.php'); include('../topo_2.php'); include('../aval_menu_2.php'); //include('consultar_classes_2.php'); $cod_turno = $_POST["cod_turno"]; $sq_classes = $_POST["sq_classes"]; $sq_turmas = $_POST["sq_turmas"]; // select para mostrar dados da view v_definicao_horarios //$result2 = ociparse($ora_conexao ,"select * from v_definicao_horarios where cod_turno = '$cod_turno' AND sq_classes = '$sq_classes' AND sq_turmas = '$sq_turmas' AND CODIGO_ESCOLA ='". $_SESSION["codigo_escola"] . "' order by hora_inicial"); $result2 = ociparse($ora_conexao ,"select v.dsc_turnos,v.dsc_classes, v.dsc_turmas , v.hora_inicial , v.hora_final , t.DIS_SEG ,t.DIS_TER ,t.DIS_QUA , t.DIS_QUI, t.DIS_SEX ,v.COD_TURNO COD_TURNO, v.sq_classes sq_classes, v.sq_turmas sq_turmas ,v.sq_horarios sq_horarios , t.sequencial SEQUENCIAL from v_definicao_horarios v , t_definicao_horarios t where v.sq_horarios = t.codigo_horario AND v.sq_classes = t.codigo_classe AND v.sq_turmas = t.codigo_turma and V.COD_TURNO = '$cod_turno' AND v.sq_classes = '$sq_classes' AND v.sq_turmas = '$sq_turmas' AND t.CODIGO_ESCOLA ='". $_SESSION["codigo_escola"] . "' order by v.hora_inicial"); OCIExecute($result2, OCI_DEFAULT); if ($linha2 = oci_fetch_array($result2)) { ?> <form action="alterar_definicao_horarios_db.php" method="post" name="cad_classes"> <table class="tabelao"> TURNO : <?php echo $linha2['DSC_TURNOS'] ?>>> CLASSE :<?php echo $linha2['DSC_CLASSES'] ?> >> TURMA :<?php echo $linha2['DSC_TURMAS'] ?> <tbody><tr class="cabecalho"> <th width="148" scope="col">Início - Fim</th> <th width="100" scope="col">Segunda</th> <th width="112" scope="col">Terça</th> <th width="114" scope="col">Quarta</th> <th width="148" scope="col">Quinta</th> <th width="125" scope="col">Sexta</th> </tr> </table> <?php do { $result1 = ociparse($ora_conexao ,"select * from t_disciplinas WHERE CODIGO_ESCOLA ='". $_SESSION["codigo_escola"] . "' ORDER BY sequencial ASC "); OCIExecute($result1, OCI_DEFAULT); ?> <table class="tabelinha"> <tr > <th width="168" ><?php echo $linha2['HORA_INICIAL'] ?> - <?php echo $linha2['HORA_FINAL'] ?></th> <td width="100"> <select class="campo" name='dis_seg' id="Serie"> <option value="$linha2[5]" selected > <?php echo $linha2[5] ?> </option> <?php include( '../include/conexao_oracle.php'); $result3 = ociparse($ora_conexao ,"select * from t_disciplinas WHERE CODIGO_ESCOLA ='". $_SESSION["codigo_escola"] . "' ORDER BY sequencial ASC "); OCIExecute($result3, OCI_DEFAULT); //pego os dados do banco para montar o combo while($linha3 = oci_fetch_array($result3)) { $descricao3 = $linha3['DESCRICAO']; $sequencial3 = $linha3['SEQUENCIAL']; echo "<option value=\"$sequencial3\"> $descricao3 </option>\n"; } //fecho a conexao com o banco @oci_close(); ?> </select> </td> <td width="119"> <select class="campo" name='dis_ter' id="Serie"> <option value="$linha2[6]" selected > <?php echo $linha2[6] ?> </option> <?php include( '../include/conexao_oracle.php'); $result4 = ociparse($ora_conexao ,"select * from t_disciplinas WHERE CODIGO_ESCOLA ='". $_SESSION["codigo_escola"] . "' ORDER BY sequencial ASC "); OCIExecute($result4, OCI_DEFAULT); //pego os dados do banco para montar o combo while($linha4 = oci_fetch_array($result4)) { $descricao4 = $linha4['DESCRICAO']; $sequencial4 = $linha4['SEQUENCIAL']; echo "<option value=\"$sequencial4\"> $descricao4 </option>\n"; } //fecho a conexao com o banco @oci_close(); ?> </select> </td> <td width="119"> <select class="campo" name='dis_qua' id="Serie"> <option value="$linha2[7]" selected > <?php echo $linha2[7] ?> </option> <?php include( '../include/conexao_oracle.php'); $result5 = ociparse($ora_conexao ,"select * from t_disciplinas WHERE CODIGO_ESCOLA ='". $_SESSION["codigo_escola"] . "' ORDER BY sequencial ASC "); OCIExecute($result5, OCI_DEFAULT); //pego os dados do banco para montar o combo while($linha5 = oci_fetch_array($result5)) { $descricao5 = $linha5['DESCRICAO']; $sequencial5 = $linha5['SEQUENCIAL']; echo "<option value=\"$sequencial5\"> $descricao5 </option>\n"; } //fecho a conexao com o banco @oci_close(); ?> </select> </td> <td width="119"> <select class="campo" name='dis_qui' id="Serie"> <option value="$linha2[8]" selected > <?php echo $linha2[8] ?> </option> <?php include( '../include/conexao_oracle.php'); $result6 = ociparse($ora_conexao ,"select * from t_disciplinas WHERE CODIGO_ESCOLA ='". $_SESSION["codigo_escola"] . "' ORDER BY sequencial ASC "); OCIExecute($result6, OCI_DEFAULT); //pego os dados do banco para montar o combo while($linha6 = oci_fetch_array($result6)) { $descricao6 = $linha6['DESCRICAO']; $sequencial6 = $linha6['SEQUENCIAL']; echo "<option value=\"$sequencial6\"> $descricao6 </option>\n"; } //fecho a conexao com o banco @oci_close(); ?> </select> </td> <td width="122"> <select class="campo" name='dis_sex' id="Serie"> <option value="$linha2[9]" selected > <?php echo $linha2[9] ?> </option> <?php include( '../include/conexao_oracle.php'); $result7 = ociparse($ora_conexao ,"select * from t_disciplinas WHERE CODIGO_ESCOLA ='". $_SESSION["codigo_escola"] . "' ORDER BY sequencial ASC "); OCIExecute($result7, OCI_DEFAULT); //pego os dados do banco para montar o combo while($linha7 = oci_fetch_array($result7)) { $descricao7 = $linha7['DESCRICAO']; $sequencial7 = $linha7['SEQUENCIAL']; echo "<option value=\"$sequencial7\"> $descricao7 </option>\n"; } //fecho a conexao com o banco @oci_close(); ?> </select> </td> </tr> </table> <input class="campo" name="SEQUENCIAL" id = "SEQUENCIAL" value="<?php echo $linha2['14'] ?>"> <input class="campo" name="turno" id = "turno" value="<?php echo $linha2['COD_TURNO'] ?>"> <input class="campo" name="codigo_horario" id = "codigo_horario" value="<?php echo $linha2['SQ_HORARIOS'] ?>"> <input class="campo" name="codigo_classe" id = "codigo_classe" value="<?php echo $linha2['SQ_CLASSES'] ?>"> <input class="campo" name="codigo_turma" id = "codigo_turma" value="<?php echo $linha2['SQ_TURMAS'] ?>"> <input class="btn_buscar btn_buscar_over" name='Submit' type='submit' value='Atualizar Linha'> <?php // } } while ($linha2 = oci_fetch_array($result2)); } else { print "Nenhum dado foi encontrado"; } //ocifreestatement($result2); ?> <?php //<input class="btn_buscar btn_buscar_over" name='Submit' type='submit' value='Gravar'> //echo $y; // ---- base do site ---- include ('../base_2.php'); ?> </center> </body> </html> aqui ele faz a listagem dos dados e monta a tabela de horarios, desculpe eh que sou novatoo em programaçao , valeu mesmo ajuda Compartilhar este post Link para o post Compartilhar em outros sites
RTDN CONSULTORIA 0 Denunciar post Postado Outubro 22, 2008 Amigo, ainda não entendi muito o que pretende fazer... mais para atualizar varios itens voce pode fazer o seguinte na sua tabela de resposta com os horarios cria uma checkbox para a pessoa escolher qual que ele quer atualizar... a checkbox deve ser assim: <input type=checkbox name=horario[] value="O VALOR DOS HORARIOS" /> na hora de receber no PHP: foreach($_POST["horario"] as $horario){ //NESTE MOMENTO ELE VAI FAZER UM LOOP PARA CADA UMA DAS OPÇÔES QUE O USUARIO MARCOU // LOGO, É DENTRO DESSE LOOP QUE VOCE VAI ATUALIZAR, UM POR UM, SO DADOS DO BANCO } Espero ter ajudado.... Abraços Compartilhar este post Link para o post Compartilhar em outros sites
ZIKOY1 0 Denunciar post Postado Outubro 22, 2008 como você esta fazendo essa parte de atualização? teria como demonstrar isso no codigo? pq assim fica dificil include ('../include/conexao_oracle.php'); if ($_SESSION["permissao"] == "F") { $sql = "UPDATE t_definicao_horarios set DIS_SEG='".$_POST['dis_seg']."', DIS_TER='".$_POST['dis_ter']."', DIS_QUA='".$_POST['dis_qua']."', DIS_QUI='".$_POST['dis_qui']."', DIS_SEX='".$_POST['dis_sex']."' where SEQUENCIAL = '".$_POST['SEQUENCIAL']."' AND CODIGO_ESCOLA ='". $_SESSION["codigo_escola"] . "' "; //$sql = "UPDATE t_classes SET imgm1='$imgm_arr[0]', imgm2='$imgm_arr[1]', imgm3='$imgm_arr[2]', imgm4='$imgm_arr[3]' WHERE id='$_POST[id]'") or die(mysql_error()); //Inserindo os dados $result = ociparse($ora_conexao,$sql); OCIExecute($result, OCI_DEFAULT); OCI_COMMIT($ora_conexao); echo "<center><font style=Arial color=green><h1>Alterado com sucesso!</h1></font></center>"; echo "<br>"; } esse é o update Compartilhar este post Link para o post Compartilhar em outros sites
ZIKOY1 0 Denunciar post Postado Outubro 22, 2008 como eu faria para que depois do while ele carregue no banco todos os dados de cada linha e nao só o do ultimo id . ocorre que eu do print na tela de todos os id's, mas na hora de inserir no banco ele spo manda o o ultimo id visto Compartilhar este post Link para o post Compartilhar em outros sites
ZIKOY1 0 Denunciar post Postado Outubro 22, 2008 Amigo, ainda não entendi muito o que pretende fazer... mais para atualizar varios itens voce pode fazer o seguinte na sua tabela de resposta com os horarios cria uma checkbox para a pessoa escolher qual que ele quer atualizar... a checkbox deve ser assim: <input type=checkbox name=horario[] value="O VALOR DOS HORARIOS" /> na hora de receber no PHP: foreach($_POST["horario"] as $horario){ //NESTE MOMENTO ELE VAI FAZER UM LOOP PARA CADA UMA DAS OPÇÔES QUE O USUARIO MARCOU // LOGO, É DENTRO DESSE LOOP QUE VOCE VAI ATUALIZAR, UM POR UM, SO DADOS DO BANCO } Espero ter ajudado.... Abraços Agora fiz isso include ('../include/conexao_oracle.php'); if ($_SESSION["permissao"] == "F") { foreach($_POST["horario"] as $i){ $sequencial = $i; echo "Sequencial do Horario ".$sequencial; } $dis_seg= $_POST['dis_seg']; $dis_ter= $_POST['dis_ter']; $dis_qua= $_POST['dis_qua']; $dis_qui= $_POST['dis_qui']; $dis_sex= $_POST['dis_sex']; $sql = ("UPDATE t_definicao_horarios SET dis_seg='".$dis_seg."', dis_ter='".$dis_ter."', dis_qua='".$dis_qua."', dis_qui='".$dis_qui."',dis_sex='".$dis_sex."' WHERE sequencial='".$sequencial."'") or die("ERRO NO COMANDO SQL UPDATE!"); $result = ociparse($ora_conexao,$sql); OCIExecute($result, OCI_DEFAULT); OCI_COMMIT($ora_conexao); ...ele retorna os dados e ex sequencial 736, 737 , 738 , mas ao inserir no banco ele só inseri no ultima linha o 738 , você como eu posso fazer um while para inserir nos outros tambem. obrigado pela força Compartilhar este post Link para o post Compartilhar em outros sites