Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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 !
Carregando comentários...