Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Renato de Araujo

[Resolvido] Pegando o id de duas tabelas relacionadas

Recommended Posts

Bom dia pessoal, estou com um problema que eu não estou conseguindo resolver e ja estou batendo cabeça desde 22 horas da noite com esse e outros problemas.

 

Seguinte, eu tenho o total de 8 tabelas relacionadas para o desenvolvimento de uma ata de reuniao e não consigo pegar o id de algumas delas na hora que vou inserir os dados.

Caso precisem de mais alguma coisa me falem que eu posto, é porque são muitos arquivos.

Segue abaixo o codigo.

 

sqlmod.php

<?php

function sqlSelectAtaReuniao($id_reuniao) {

   //Seleciona Reunião

   $sql = "SELECT * FROM " . _TB_REUNIAO_ . " WHERE id_reuniao = '$id_reuniao' ";

   $query = mysql_query($sql) or die(mysql_error() . ' ['.$sql.']');

   if (@mysql_num_rows($query) > 0)
       $dados['reuniao'] = mysql_fetch_array($query);

   //Seleciona Assuntos

   $sql = "SELECT A.ID_ASSUNTO, B.*, D.*, G.*,
                   CONCAT(C.nome,' ', C.sobrenome) as RESPONSAVEL,
                   CONCAT(E.nome,' ',E.sobrenome) as RESP_TECNICO,
                   CONCAT(F.nome,' ',F.sobrenome) as RESP_COMERCIAL
               FROM ". _TB_PAUTA_ . " A
               LEFT JOIN "._TB_REUNIAO_ASSUNTO_." B ON A.ID_ASSUNTO = B.ID_ASSUNTO
               LEFT JOIN "._TB_SYSTEM_USER_." C ON C.id = B.ID_RESP_ASSUNTO
               LEFT JOIN "._TB_CONTA_." D ON D.id = B.ID_CONTA
               LEFT JOIN "._TB_TERCEIRO_." E ON E.id = B.ID_RESP_TECNICO
               LEFT JOIN "._TB_TERCEIRO_." F ON F.id = B.ID_RESP_COMERCIAL
               LEFT JOIN "._TB_FORECAST_." G ON G.id = B.ID_FORECAST
           WHERE A.ID_REUNIAO = $id_reuniao ";

   $query = mysql_query($sql) or die(mysql_error() . ' ['.$sql.']');

   if (@mysql_num_rows($query) > 0) :
       $array = array();
       while($fetch = mysql_fetch_array($query)) {
           $array[] = $fetch;
       }
       $dados['assuntos'] = $array;
   endif;

   //Seleciona Participantes

   $sql = "SELECT *
               FROM ". _TB_REUNIAO_PARTICIPANTE_ . " A
               LEFT JOIN "._TB_TERCEIRO_." B ON A.ID_TERCEIRO = B.ID
           WHERE A.ID_REUNIAO = $id_reuniao ";

   $query = mysql_query($sql) or die(mysql_error() . ' ['.$sql.']');

   if (@mysql_num_rows($query) > 0) :
       $array = array();
       while($fetch = mysql_fetch_array($query)) {
           $array[] = $fetch;
       }
       $dados['participantes'] = $array;
   endif;

   //Seleciona Compromissos

   $sql = "SELECT *
               FROM ". _TB_REUNIAO_COMPROMISSO_REL_ . " A
               LEFT JOIN ". _TB_REUNIAO_COMPROMISSO_ ." B ON B.ID_COMPROMISSO = A.ID_COMPROMISSO
           WHERE A.ID_REUNIAO = $id_reuniao ";

   $query = mysql_query($sql) or die(mysql_error() . ' ['.$sql.']');

   if (@mysql_num_rows($query) > 0) :
       $array = array();
       while($fetch = mysql_fetch_array($query)) {
           $array[] = $fetch;
       }
       $dados['compromissos'] = $array;
   endif;

   return $dados;

}


/**
* Listar Terceiros
*/

function sqlSelectAllResponsaveis($order = "nome, sobrenome") {

   $sql = "SELECT * FROM ". _TB_TERCEIRO_;

   if ($order != NULL)
       $sql .= " ORDER BY ".$order." ASC ";
   else
       $sql .= " ORDER BY nome ";

   $query = mysql_query($sql) or die(mysql_error() . ' ['.$sql.']');

   if (@mysql_num_rows($query) > 0) {
       $array = array();
       while($fetch = mysql_fetch_array($query)) {
           $array[] = $fetch;
       }
       return $array;
   } else {
       return false;
   }
}



/**
* finalizar da ata de reunião
*/

function sqlUpdateAtaReuniao($dados) {

   //	Atualiza tabela Reunião

   $sql = "UPDATE " . _TB_REUNIAO_ ." SET ";
   $sql .= "
		`HORA_FIM_REUNIAO`		= CURTIME(),
		`INFORMES`              = '$dados[informes]',
		`NOME_REDATOR`			= '$dados[nome_redator]'
    WHERE id_reuniao 			= '$dados[id_reuniao]'";

   $query = mysql_query($sql);

   //	Atualiza Assuntos

   $sql = "UPDATE " ._TB_REUNIAO_ASSUNTO_." SET
              DELIBERACAO  		= '$dados[deliberacao]',
              STATUS 				= 'concluido',
		   DT_CONCLUSAO 		= curdate()
           WHERE
              ID_ASSUNTO			= '$dados[id_assunto]'";

   $query = mysql_query($sql);

   //atualiza Participantes

   $sql = "UPDATE " ._TB_REUNIAO_PARTICIPANTE_." SET
              PRESENTE 	  		= '$dados[presente]',
          WHERE
              ID_REUNIAO = '$dados[id_reuniao]'
		   AND ID_TERCEIRO = '$dados[id_terceiro]'";
		   echo $sql;
   $query = mysql_query($sql);

   // atualiza Compromissos

   $sql = "INSERT INTO "._TB_REUNIAO_COMPROMISSO_."
			(COMPROMISSO, NOME_RESPONSAVEL, DATA_COMPROMISSO) 
		VALUES ('$dados[compromisso]', '$dados[nome_responsavel]', '".formataDate($dados[data_compromisso],"/")."')";

   $sql = "INSERT INTO "._TB_REUNIAO_COMPROMISSO_REL_."
			VALUES ($dados[id_reuniao], LAST_INSERT_ID(), '".formataDate($dados[data_realizacao],"/")."')', '$dados[situacao]');";

   $query = mysql_query($sql);

   if ($query)
       return true;
   else
       return false;

}

 

page_ata.php

<?
session_start();
include_once('includesmod.php');
$local = top("mod");
$db = new Db();

$dados = sqlSelectAtaReuniao($_SESSION['id_reuniao']);
$reuniao = $dados['reuniao'];
$participantes = $dados['participantes'];
$assuntos = $dados['assuntos'];
$compromissos = $dados['compromissos'];
$terceiros = sqlSelectAllResponsaveis();

?>



<script>


   $(document).ready(function(){

       /*
        *     Adicionar e Remover participantes
        */
       $("#tb_compromissos_modelo").hide();
       var html = $("#tb_compromissos_modelo tbody").html();

       $("#btn_mais").live('click',function(){

           $("#tb_compromissos tbody").append(html);

       });

       $("#btn_menos").live('click',function(){

           $('#tb_compromissos #tr_compromissos:last').remove();

       });


       /*
        * Mostra/Oculta Assunto
        */
       $("img[name^=btn_oculta_assunto]").hide();
       $("tr[id^=tr_assunto]").hide();
       $("img[name^=btn_mostra_assunto], img[name^=btn_oculta_assunto]").click(function() {
           var id = $(this).attr("id");
           $("#tr_assunto_" + id).toggle();
           $("img[name=btn_mostra_assunto_" + id + "]").toggle();
           $("img[name=btn_oculta_assunto_" + id + "]").toggle();
       });

       /*
        *	Ajax para Listar Terceiros no combo compromisso.
        */
       function listarTerceiros(id_terceiro) {

           $.post("ajax.php",
           { acao: "listarParticipantes", id_terceiro: id_terceiro },
           function(data) {
               $("select[name=participante[]]:last").html(data);
           });
       }


   });


    $(document).ready(function() {

       /**
        * Ajax para cadastrar Assunto
        */
       $("form[name=form_ata]").live('submit', function(){

           /**
            * Criada a variável params
            * serialize(): pega os dados inseridos no formulário
            */
           var params = $(this.elements).serialize();

           var self = this;
           $.ajax({

               // Usando metodo Post
               type: 'POST',

               // this.action pega o script para onde vai ser enviado os dados
               url: this.action,

               // os dados que pegamos com a função serialize()
               data: params,

               success: function(txt){

                   alert(txt);
                   window.location.reload();

               },

               // Se acontecer algum rro é executada essa função
               error: function(txt){

               }
           })
           return false;
       });

   });

$(function() {
       $('.mask-data').mask('99/99/9999'); //data
   });

</script>

<style>

   .yui-toolbar-titlebar {
       display: none;
   }

</style>



<form name="form_ata" action="ajax_ata.php" method="POST">

   <input type="hidden" name="id_reuniao" value="<?=$_SESSION['id_reuniao'] ?>" />
   <input type="hidden" name="acao" value="atualizarAtaReuniao" />

   <table width="100%" class="borda_bottom">

       <tr>
           <td height="40" valign="top">
               <p class="titulo_page">.:: Ata de Reunião ::.</p>
           </td>
       </tr>

       <tr>
       <?php
	        $data_reuniao = formataDate($reuniao['DATA_REUNIAO'],'-');
	?>
           <td height="40" valign="middle" class="text">
               Arquivo/Versão: <?=$reuniao['NOME_ARQUIVO']."/".$reuniao['VERSAO_ARQUIVO'] ?> <br />
               Brasília, <?=$data_reuniao." " ?> <br />
               Local: <?=$reuniao['LOCAL_REUNIAO'] ?> <br />
               Relator: <input type="text" name="nome_redator" value="<?=$reuniao['NOME_REDATOR']?>" size="80" maxlength="100" />
           </td>
       </tr>

   </table>

   <table width="100%" class="borda_bottom">

       <tr>
           <td height="40">
               <p class="sub_titulo">Participantes da reunião</p>
           </td>
       </tr>

       <tr>
           <th height="25">Nome</th>
           <th>Empresa/Função</th>
           <th>E-mail</th>
           <th>Telefone</th>
           <th width="80">Presentes</th>
       </tr>

       <?
       if ($participantes) :
           foreach ($participantes as $participante) :
               ?>

       <tr>
           <td class="td01" height="25"><?=$participante['nome']." ".$participante['sobrenome'] ?></td>
           <td class="td01"><?=$participante['empresa']." / ".$participante['funcao'] ?></td>
           <td class="td01"><?=$participante['email'] ?></td>
           <td class="td01"><?=$participante['telefone'] ?></td>
           <td class="td01" align="center">
           <input type="checkbox" name="participante[]" <?php echo ($participante['PRESENTE'] == "Sim") ? "checked":""; ?>/>
           </td>
       </tr>

           <?

           endforeach;
       endif;
       ?>


   </table>

   <table width="100%" class="borda_bottom">

       <tr>
           <td height="40">
               <p class="sub_titulo">Pauta</p>
           </td>
       </tr>

       <tr>
           <th height="25">Nº</th>
           <th>Assunto</th>
           <th>Tipo</th>
           <th>Responsável</th>
           <th width="60">Status</th>
           <th width="30"></th>
       </tr>

       <?
       $i = 0;
       if ($assuntos) :
           foreach ($assuntos as $assunto) :

               $i++;
               ?>

       <tr>
           <td class="td01" width="30" height="25"><?=$i ?></td>
           <td class="td01"><?=$assunto['ASSUNTO'] ?></td>
           <td class="td01"><?=$assunto['TIPO_ASSUNTO'] ?></td>
           <td class="td01"><?=$assunto['RESPONSAVEL'] ?></td>
           <td class="td01" align="center"><?=$assunto['STATUS'] ?></td>
           <td class="td01" align="center">
               <img src="<?=$local._THEME_ ?>images/show.png" id="<?=$assunto['ID_ASSUNTO']?>" name="btn_mostra_assunto_<?=$assunto['ID_ASSUNTO']?>" />
               <img src="<?=$local._THEME_ ?>images/hide.png" id="<?=$assunto['ID_ASSUNTO']?>" name="btn_oculta_assunto_<?=$assunto['ID_ASSUNTO']?>"/>
           </td>
       </tr>
       <tr id="tr_assunto_<?=$assunto['ID_ASSUNTO']?>">
           <td colspan="6">
               <table class="text box" style="width: 100%">
                   <tr>
                       <td width="169" height="20"><b>Cliente:</b></td>
                       <td width="181"><?=($assunto["ID_CONTA"] != "0") ? $assunto["sigla"]:$assunto["TXT_CONTA"] ?></td>
                       <td width="176"><b>Projeto/Oportunidade:</b></td>
                       <td width="524"><?=($assunto["ID_FORECAST"] != "0") ? $assunto["nome_oportunidade"]:$assunto["TXT_FORECAST"] ?></td>
                   </tr>
                   <tr>
                       <td width="169" height="20"><b>Responsável técnico:</b></td>
                       <td><?=$assunto["RESP_TECNICO"] ?></td>
                       <td><b>Responsável comercial:</b></td>
                       <td><?=$assunto["RESP_COMERCIAL"] ?></td>
                   </tr>
                   <tr>
                       <td colspan="4" >
                           <b>Deliberações: <?=$assunto['ID_ASSUNTO'] ?></b> <br />
                           <textarea id="deliberacao" name="deliberacao" rows="5" style="width:100%;" cols="100"><?=$assunto["DELIBERACAO"] ?></textarea>

                       </td>
                   </tr>
               </table>
           </td>
       </tr>

           <?

           endforeach;
       endif;
       ?>


   </table>

   <table width="100%" class="borda_bottom yui-skin-sam">

       <tr>
           <td height="40">
               <p class="sub_titulo">Informes Gerais</p>
           </td>
       </tr>
       <tr>
           <td colspan="5">
               <textarea id="informes" name="informes" rows="8" style="width:100%;" cols="120"><?=$reuniao["INFORMES"] ?></textarea>
           </td>
       </tr>

   </table>

   <table width="100%" class="borda_bottom">

       <tr>
           <td>
               <table width="100%" id="tb_compromissos">

                   <tr>
                       <td height="40">
                           <p class="sub_titulo">Compromissos</p>
                       </td>
                   </tr>

                   <tr>
                       <th height="25" width="100">Compromisso</th>
                       <th>Responsável</th>
                       <th width="30">Data</th>
                   </tr>

                   <?
                   if ($compromissos) :
                       foreach ($compromissos as $compromisso) :
                           ?>
                   <tr id="tr_compromissos">
                       <td class="td01" height="25">
                           <input type="text" name="compromisso[]" value="" size="50" />
                       </td>
                       <td class="td01">
                           <select name="compromisso_resp[]">
                                       <?

                                       echo "<option></option>";

                                       foreach ($terceiros as $terceiro) :

                                           if ($_REQUEST['id_resp_tecnico'] == $terceiro['id'])
                                               $selected = " selected ";
                                           else
                                               $selected = '';

                                           echo "<option value='$terceiro[id]' $selected>$terceiro[nome] $terceiro[sobrenome]</option>";

                                       endforeach;

                                       ?>
                           </select>
                       </td>
                       <td class="td01">
                           <input type="text" name="compromisso_data[]" value="<?=$compromisso["COMPROMISSO_DATA"] ?>" size="10" />
                       </td>
                   </tr>

                       <?

                       endforeach;
                   endif;
                   ?>

               </table>
           </td>
       </tr>

       <tr>
           <td height="40">
               <input type="button" id="btn_mais" value="+" />
               <input type="button" id="btn_menos" value="-" />
           </td>
       </tr>

   </table>

   <table id="tb_compromissos_modelo">
       <tr id="tr_compromissos">
           <td class="td01" height="25">
               <input type="text" name="compromisso[]" value="" size="50" />
           </td>
           <td class="td01">
               <select name="compromisso_resp[]">
                   <?

                   echo "<option></option>";

                   foreach ($terceiros as $terceiro) :

                       echo "<option value='$terceiro[id]'>$terceiro[nome] $terceiro[sobrenome]</option>";

                   endforeach;

                   ?>
               </select>
           </td>
           <td class="td01"><input type="text" name="compromisso_data[]" class="mask-data" value="" size="10" /></td>
       </tr>
   </table>


   <table width="100%">

       <tr class="tr_color02">
           <td height="44" colspan="2" align="left" class="td01">
               <input type="submit" name="gravar" value="Gravar" />
               <a href="gerar_pdf.php?id_reuniao=<?=$_SESSION['id_reuniao'] ?>">
               <input type="button" name="gerar_pdf" value="Gerar PDF" />
               </a>
               <input type="reset" name="limpar" value="Limpar" />
           </td>
       </tr>

   </table>

</form>

 

ajax_ata.php

<?php

session_start();
include_once('includesmod.php');
$db = new Db();

$acao = $_REQUEST['acao'];



//---------------------------------SQL----------------------------------------------------//

/*
*	Atualizar Ata
*/

if ($acao == "atualizarAtaReuniao") :


       if (sqlUpdateAtaReuniao($_REQUEST) != "")
           echo "Ata cadastrada com sucesso!";
       else
           echo "Erro ao atualizar ata!";

endif;





/*
*	
?>

 

 

 

 

 

 

 

Agora explicando um pouco como funciona.

 

Inicialmente terá uma pagina index que listará todas as reuniões e com um link para criar uma nova.

Ao criar uma nova reunião, será aberta uma pagina com 4 abas ( Agendar, Participantes, Pauta e a ata final ).

Quando chegar na ata, alguns dados já estarão inseridos no banco, faltando apenas alguns detalhes para ser discutidos.

 

Vamos a duvida.

Quando eu tento dar esse update nas tabelas, ele aparece que está cadastrando com sucesso e não aparecem erro. Mas quando eu vou ver, nenhum registro foi inserido mesmo a não ser os informes e redator que são da tabela REUNIAO.

Os outros dados não são atualizados, ai eu dou um echo $sql e aparece que ele esta inserindo, porém ele não acha o id, retornando apenas como exemplo "id_assunto" = ''..

 

eu sei que é uma coisa simples de ser resolvida, mas com tanta coisa na cabeça acabei me perdendo muito no Código.

Gostaria também de pedir, caso alguém possa e queira, me ajudar com o valor passado no checkbox, lembrando que ele só precisa atualizar para o 'sim', pois já vem como default 'não'.

 

Pessoal, caso queiram criticar, fazer comentários também.

Sou um pouco jovem no PHP então seria de grande ajuda.

 

Agradeço desde já, e que todos tenham um bom dia e abençoado !

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.