bcs_ptx 0 Denunciar post Postado Junho 27, 2011 Gente o seguinte, eu faço meus negócios e no fim sempre me falta conhecimento para concluir, mas creio que com o tempo e ajuda de todos eu consiga cada vez aprender mais... seguinte, meu sistema esta quase concluido oque falta nele é na hora que o usuario clicar em devolução, ele atualiza a tabela livros e historicos ao mesmo tempo, na data de devolução, quando eu faço a devoluçaõ ele atualiza só a tabela teste_livros, pq é só um update, então essa é a grande dúvida, oque eu faço nesse script para atualizar a outra tabela junto? <?php session_start(); include('conexao.php'); $id_usuario = $_POST['id_usuario']; $data = date("Y-m-d"); $atualiza = "UPDATE teste_livros SET status = 'disponivel', data_retirada = '', data_entrega = '', data_devolucao = '$data', id_usuario = '' where id_livros = '".$_POST['id_livros']."'"; if(!mysql_query($atualiza)){ echo 'Erro ao atualizar'; exit(); }else{ header('location: index.php'); } ?> ó na tabela historico eu tenho que atualiza junto só data_devolucao = '$data',, como ligo isso? tentei com select aqui mas não deu muito certo Compartilhar este post Link para o post Compartilhar em outros sites
KMRodrigo 1 Denunciar post Postado Junho 27, 2011 $atualiza = "UPDATE teste_livros SET status = 'disponivel', data_retirada = '', data_entrega = '', data_devolucao = '$data', id_usuario = '' where id_livros = '".$_POST['id_livros']."'"; if(!mysql_query($atualiza)){ echo 'Erro ao atualizar'; exit(); }else{ header('location: index.php'); } é só repetir isso mas mudar a variavel atualiza e repetir o comando com a outra tabela no if coloca um && e a segunda condição (que verifica o segundo update). Assim na verdade terá dois upgrades mas em um unico script/numa unica ação (o usuario n vai precisar preencher duas vezes ou apertar duas vezes um botão) se n for isso acho q entendi errado =/ ps. Use a tag code para codigos =) Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Junho 27, 2011 Cara fiz assim mas não deu certo... <?php session_start(); include('conexao.php'); $id_usuario = $_POST['id_usuario']; $data = date("Y-m-d"); $atualiza = "UPDATE teste_livros SET status = 'disponivel', data_retirada = '', data_entrega = '', data_devolucao = '$data', id_usuario = '' where id_livros = '".$_POST['id_livros']."'"; $atualiza2 = "UPDATE historico SET data_devolucao = '$data' where id_historico = '".$_POST['id_historico']."'"; if(!mysql_query($atualiza) && ($atualiza2)){ echo 'Erro ao atualizar'; exit(); }else{ header('location: index.php'); } ?> Compartilhar este post Link para o post Compartilhar em outros sites
KMRodrigo 1 Denunciar post Postado Junho 27, 2011 apresenta qual erro? (tira o header pra n trocar de página pra poder ver o erro) quando você cadastrava uma só funcionava? faz o teste sem a segunda condição no IF.. (atualiza2). use "code" para iniciar e "/code" para finalizar os codigos entre conchetes "[]" :joia: fica mais facil visualizar Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Junho 27, 2011 sem o header aparece esse erro Notice: Undefined index: id_usuario in C:\Arquivos de programas\EasyPHP5.3.0\www\teste_livros\devolucao.php on line 7 Notice: Undefined index: id_historico in C:\Arquivos de programas\EasyPHP5.3.0\www\teste_livros\devolucao.php on line 21 e sem o if atualiza2 ele atualiza certo... o problema é na ligação das duas tabelas mesmo, vou ter que sair, se tu souber oque é posta ai amanha demanha eu entro e vejo denovo.grande ajuda abraço. Compartilhar este post Link para o post Compartilhar em outros sites
KMRodrigo 1 Denunciar post Postado Junho 27, 2011 Então cara, ele n está recebendo o id_usuario nem o id_historico no caso ele deveria receber aqui $id_usuario = $_POST['id_usuario']; $id_historico = $_POST['id_historico']; no caso esses dados vem de um form (o msm que tem o botão que abre essa janela) nesse form deve ter os campos "input" (por exemplo) com o nome="id_usuario" e outro com nome="id_historico" (no form que tem o botão) acho que tem q definir id tmb, é q por costume eu sempre defino. Ai fica no input id="id_usuario" e id="id_historico". Caso você ja tenha feito isso verifique se está escrito do msm jeito os nomes e ids tem que bater com o $_POST['nomeDadoNoInput'] Compartilhar este post Link para o post Compartilhar em outros sites
Victor Cometti 8 Denunciar post Postado Junho 28, 2011 já ouviu falar em trigger?? se você criar uma trigger ela dispara uma ação no banco de acordo com a configuração no fórum tem material relacionado trigger Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Junho 28, 2011 Assim cara vou passar todo meu código e até do input, ele continua falhando ao atualizar a tabela historico...segue <form action="devolucao.php" method="post"> <input type="hidden" name="id_historico" value="<?php echo $dados['id_historico'] ?>"> <input type="hidden" name="id_livros" value="<?php echo $dados['id_livros'] ?>"> <input type="submit" onclick="return devolucao()" value="" id="btn_devolucao"> </form> <?php session_start(); include('conexao.php'); $id_livros = $_POST['id_livros']; $id_historico = $_POST['id_historico']; $data = date("Y-m-d"); $atualiza = "UPDATE teste_livros SET status = 'disponivel', data_retirada = '', data_entrega = '', data_devolucao = '$data', id_usuario = '' where id_livros = '".$_POST['id_livros']."'"; $atualiza2 = "UPDATE historico SET data_devolucao = '$data' where id_historico = '".$_POST['id_historico']."'"; if(!mysql_query($atualiza) && ($atualiza2)){ echo 'Erro ao atualizar'; exit(); }else{ header('location: index.php'); } ?> Compartilhar este post Link para o post Compartilhar em outros sites
KMRodrigo 1 Denunciar post Postado Junho 28, 2011 já ouviu falar em trigger?? Trigger pode ser usada em Mysql? @topico cara coloca type="text" aonde está hidden e verifica se está aparecendo os valores. se dava undefined index "variavel" "local/pagina.php" é q ele não está encontrando valor na variável. Abri seu link victor xP, tem msm como fazer em mysql, eu pensei q era só em sqlserver. bcs_ptx Seu código funcionava com um unico Update? Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Junho 28, 2011 sim ele funciona como unico sim, ai ó agora coloquei um echo atualiza2; e olha oque mostra... UPDATE historico SET data_devolucao = '2011-06-28' where id_historico = ' Notice: Undefined index: id_historico in C:\Arquivos de programas\EasyPHP5.3.0\www\teste_livros\editar_registro.php on line 185 meu código la no select é assim <?php include('btn/niveis.php'); $id_livros = $_GET['id_livros']; $editar = "SELECT * FROM teste_livros WHERE id_livros = '".$id_livros."'"; $resultado = mysql_query($editar); $dados = mysql_fetch_assoc($resultado); $status = $dados['status']; ?> depois vem isso <form action="devolucao.php" method="post"> <input type="hidden" name="id_historico" value="<?php echo $dados['id_historico'] ?>"> <input type="hidden" name="id_livros" value="<?php echo $dados['id_livros'] ?>"> <input type="submit" onclick="return devolucao()" value="" id="btn_devolucao"> </form> e depois isso <?php session_start(); include('conexao.php'); $id_livros = $_POST['id_livros']; $id_historico = $_POST['id_historico']; $data = date("Y-m-d"); $atualiza = "UPDATE teste_livros SET status = 'disponivel', data_retirada = '', data_entrega = '', data_devolucao = '$data', id_usuario = '' where id_livros = '".$_POST['id_livros']."'"; $atualiza2 = "UPDATE historico SET data_devolucao = '$data' where id_historico = '".$_POST['id_historico']."'"; if(!mysql_query($atualiza) && ($atualiza2)){ echo 'Erro ao atualizar'; exit(); }else{ header('location: index.php'); } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Victor Cometti 8 Denunciar post Postado Junho 28, 2011 já ouviu falar em trigger?? Trigger pode ser usada em Mysql? com certeza, já utilizei algumas vezes veja aqui no fórum http://imasters.com.br/artigo/8123/mysql/mysql_triggers/ e no manual http://dev.mysql.com/doc/refman/5.0/en/triggers.html Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Junho 28, 2011 ouvi sim, aqui ja falaram um monte disso, vamos ver se vai funcionar Compartilhar este post Link para o post Compartilhar em outros sites
KMRodrigo 1 Denunciar post Postado Junho 28, 2011 <?php session_start(); include('conexao.php'); $id_livros = $_POST['id_livros'];//-------------------aqui você adiciona o id_livros a uma variável $id_historico = $_POST['id_historico']; //-----------aqui você adiciona o id_historico a uma variavel $data = date("Y-m-d"); $atualiza = "UPDATE teste_livros SET status = 'disponivel', data_retirada = '', data_entrega = '', data_devolucao = '$data', id_usuario = '' where id_livros = '".$_POST['id_livros']."'"; //pq aqui ao invés de usar a variável você usa $_POST[id_livros] ? $atualiza2 = "UPDATE historico SET data_devolucao = '$data' where id_historico = '".$_POST['id_historico']."'"; //pq aqui ao invés de usar a variável você usa $_POST[id_historio] ? if(!mysql_query($atualiza) && ($atualiza2)){ echo 'Erro ao atualizar'; exit(); }else{ header('location: index.php'); } ?> apenas dicas, acho q n vai resolver seu problema, mas se você jah guardou o POST em uma variável n precisa pega-lo dnv. Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Junho 28, 2011 Bleza, não tinha me ligado, é o erro realmente não resolve com isso, sei lá, vou tentando aqui... Compartilhar este post Link para o post Compartilhar em outros sites
KMRodrigo 1 Denunciar post Postado Junho 28, 2011 é incrivel tah dando erro pq n encontra o id_historico <input type="hidden" name="id_historico" value="<?php echo $dados['id_historico'] ?>"> muda essa linha para essa: <input type="text" name="id_historico" value="<?php echo $dados['id_historico'] ?>"> ali no value vai aparecer algo, ou um erro... se aparecer em branco tmb é erro... E ai o q aparece? Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Junho 28, 2011 blza, aparece isso <br /> <b>Notice</b>: Undefined index: id_historico in <b>C:\Arquivos de programas\EasyPHP5.3.0\www\teste_livros\editar_registro.php</b> on line <b>185</b><br /> o mesmo erro eu acho que o erro é no select, por que eu crio a variavel e da erro tambem, pq são duas tabelas que ele tem que fazer update, e meu select só tem uma, será que pode ser isso? Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Junho 28, 2011 Bah raça ta f*** aqui, não sei onde ta errado isso, só sei que ele não acha a variável id_historico :/ Compartilhar este post Link para o post Compartilhar em outros sites
KMRodrigo 1 Denunciar post Postado Junho 28, 2011 a questão é - De onde vem esse $dados[id_historico]. Eles esta vindo errado. Se for outra página que envia para ele através de um input verifique o nome do input e tal, se for de um select verifique o nome do campo e das variáveis e se a conexão está OK. Acho q n é um erro maior que isso. Compartilhar este post Link para o post Compartilhar em outros sites