will_pHp 0 Denunciar post Postado Junho 15, 2009 eai galera, é o seguinte, estou com uma dúvida de como gravar dados em tabelas diferentes, tenho um formulário de cadastro e quero q seja inseridos os dados assim: data texto evento local na tabela agenda e na mesma página desse formulário vai um campo de upload q é multiplo q os dados serão os seguintes: descrição imagem (onde será a imagem) p/ ser gravada na tabela imagem, e na hora de exibir estes dados puxe tudo certo do banco de dados, ñ sei se fui muito claro ai, se vcs puderem me ajudar nisso fico grato Compartilhar este post Link para o post Compartilhar em outros sites
Leandro de Jesus 5 Denunciar post Postado Junho 15, 2009 Basta você fazer dois INSERT... INSERT 1 IDAGENDA // ou outro nome da ID com chave primaria e auto_increment data texto evento localno final do INSERT você pega a ID que foi gerada com mysql_insert_id $idGerada = mysql_insert_id(); E no INSERT 2 IDIMAGEM IDAGENDA = $idGerada descrição imagem é isso ai.. caso naõ entendeu.. comece a montar os INSERT que a galera ajuda Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Junho 16, 2009 A tabela é a mesma ? se for duas mesmo a opção de 2 inserts é ideal, mais se for na mesma tabela, podes fazer um insert e um update no campo desejado de acordo ao ID da inserção anterior. Compartilhar este post Link para o post Compartilhar em outros sites
will_pHp 0 Denunciar post Postado Junho 16, 2009 eai Leandro obrigado cara, é o seguinte eu monte os inserts desse jeito, se vcs puderem me ajudar lembro q eu fiz o upload desse jeito pq ele é multiplo e ainda naum me veio nada na cabeça p/ melhorá-lo: <?php include('conn.php'); if(isset($_POST['done'])){ $data = $_POST['data']; $texto = $_POST['texto']; $evento = $_POST['evento']; $local = $_POST['local']; //faço uma busca no banco a procura de um valor igual if(empty($texto)){ $alerta = "<div id=\"alert\">Você deve preencher o campo!</div>"; }else{ $busca = "SELECT * FROM agenda WHERE data='$data', texto='$texto', evento='$evento', local='$local'"; $query = mysql_query($busca); $total = mysql_num_rows($query); if ($total==0){ $query = "INSERT INTO agenda (data,texto,evento,local) VALUES ('$data','$texto','$evento','$local')"; mysql_query($query); $alerta = "<div id=\"alert2\">Cadastrado com sucesso!</div>"; //aqui q eu gero o id? if(!$query){ $alerta = "<div id=\"alert\">Houve um erro ao fazer o cadastrado!</div>"; } $idGerada = mysql_insert_id(); $campos = $_POST['campos']; $dir = "downloads/$idGerada"; //tamanhos para criar as thumbs $largura_final = 160; $altura_final = 110; @mkdir($dir); if ($handle = @opendir($dir)) { while (false !== ($filez = readdir($handle))){ if ($filez != "." && $filez != ".."){ $filez = substr($filez,0,-4); $filez2.="$filez-*-";}} $filez2 = substr($filez2, 0, -3); $filez3 = explode("-*-", $filez2); natsort ($filez3); $quanti = count($filez3); $quanti--; $y = $filez3[$quanti]; $y = substr($y, -2); closedir($handle);} $f_name = $_FILES['file']['name']; $f_tmp = $_FILES['file']['tmp_name']; $f_type = $_FILES['file']['type']; $cont=0; $p = $y; $desc = $_POST['desc']; for($i=0;$i<$campos;$i++){ $name = $f_name[$i]; $file = explode(".",$name); $filec = count($file); $filec = $filec-1; $file = $file[$filec]; $descr = $desc[$i]; $patha = $dir."$idGerada"."$name"; $nome = "$idGerada"."$name"; if ( ($name!="") and (is_file($f_tmp[$i]))){ if ($cont==0){ echo "<b>Arquivo(s) enviados:<br /></b>"; } echo $patha." - "; $up = move_uploaded_file($f_tmp[$i], $patha); //criar thumb if(preg_match("/.jpg/i", "$nome")){ $format = 'image/jpeg'; } if (preg_match("/.gif/i", "$nome")){ $format = 'image/gif'; } if(preg_match("/.png/i", "$nome")){ $format = 'image/png'; } if($format!=''){ $tamanho = getimagesize($dir.$nome); $largura_fonte = $tamanho[0]; $altura_fonte = $tamanho[1]; switch($format){ case 'image/jpeg': $source = imagecreatefromjpeg($dir.$nome); break; case 'image/gif'; $source = imagecreatefromgif($dir.$nome); break; case 'image/png': $source = imagecreatefrompng($dir.$nome); break; } $nome_thumb = substr($nome,0,strpos($nome,"."))."_thumb".substr($nome,strpos($nome,".")); $imagem_destino = imagecreatetruecolor($largura_final,$altura_final); imagealphablending($imagem_destino, false); imagecopyresized($imagem_destino, $source, 0, 0, 0, 0, $largura_final, $altura_final, $largura_fonte, $altura_fonte); @imagejpeg($imagem_destino, $dir.$nome_thumb, 70); imagedestroy($source); imagedestroy($imagem_destino); } //fim do thumb if ($up==true): echo "<i>Enviado!</i>"; $cont++; $qry = mysql_query("INSERT INTO imagens (idGerada,nome,foto,thumb) VALUES ('$idGerada','$descr','$nome','$nome_thumb')"); else: echo "<i>Falhou!</i>"; endif; echo "<br />"; } } echo ($cont!=0) ? "<script>alert(\"Total de arquivos enviados: $cont\"); location.href=\"index.php\"</script>": "<script>alert(\"Nenhum arquivo foi enviado!\"); location.href=\"index.php\"</script>"; } } } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
cezaarr 0 Denunciar post Postado Junho 16, 2009 will_pHp não pude vizualizar todo seu codigo , meio apurado aki mas olha só... quando disseram para você pegar o id com o mysql_insert_id(); você jogo ele na variavel $idGerada certo ? mas logo depois você feiz o seguinte $num = $_POST['idGerada']; esse $_POST[idGerada]; na verdade n existe, pois o idGerada n ta vindo por POST o mysql_insert_id(); ta pegando o ultimo id q você cadastro digamos que o id é 4 a variavel $idGerada que recebe mysql_insert_id ja é 4 pois foi o registro mais recente q você cadastro.. n vi tudo o script mas essa variavel teria tambem ter q ser inserida aki $qry = mysql_query("INSERT INTO imagens (nome,foto,thumb) VALUES ('$descr','$nome','$nome_thumb')"); você poderia colocar um campo antes do nome como id_agenda algo assim , e esse id seria o $idGerada.. é issu ai , pelomenos eu axo q nao falei mer..... =D abrcss flw Compartilhar este post Link para o post Compartilhar em outros sites
will_pHp 0 Denunciar post Postado Junho 16, 2009 beleza cara, agora eu mudei la pra $num = $_GET['idGerada']; pelo oq eu entendi eu tenho q pegar a variável e colocar ela em outra, até ai beleza, so q ou terei q criar na tabela "imagens" mais um campo? ficando assim: id idGerada nome foto thumb o primeiro id é autoincrement Compartilhar este post Link para o post Compartilhar em outros sites
cezaarr 0 Denunciar post Postado Junho 16, 2009 beleza cara, agora eu mudei la pra $num = $_GET['idGerada']; pelo oq eu entendi eu tenho q pegar a variável e colocar ela em outra, até ai beleza, so q ou terei q criar na tabela "imagens" mais um campo? ficando assim: id idGerada nome foto thumb o primeiro id é autoincrement veja bem , a parte dos campos do mysql seria dessa forma mesmo , so axo q pra se identifica melhor seria bom você coloca id_agenda invez de idGerada , porem a primera parte talvez n explikei muito bem , $_GET seria para você pega algo q esta na url , intao ainda n ta certo... O $idGerada = mysql_insert_id(); n precisa mais ser mudada ou jogada em otra var vi aqui tambem que o caminho da imagem é o seguinte $dir = "downloads/$num"; porem a var $num seria a var $idGerada oq n faz muito sentido pois a var $idGerada seria apenas o id q você acabo de cadastra, da uma olhada nessa parte tbm q pelo q parece n ta muito certo, mas lembre q a var $idGerada n necessita ser mudada pois a unica funçao dela e ser inserida no campo id_agenda na tabela das imagens identificando qual imagem e de qual evento http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
will_pHp 0 Denunciar post Postado Junho 16, 2009 ai cara eu mudei as paradas q você me falou v ai como estão fazendo um favor Compartilhar este post Link para o post Compartilhar em outros sites
cezaarr 0 Denunciar post Postado Junho 16, 2009 ai cara eu mudei as paradas q você me falou v ai como estão fazendo um favorvocê testo ? :mellow: cara viu se ninguem pude te ajuda eu te ajudo mais tarde agora n vai da mesmo so uma dica @mkdir($dir); cria uma pasta certo ? a var $dir = "downloads/$idGerada"; pelo q da pra intende ele vai cria uma pasta pra cada imagem , imagina se você fize upload de 40 imgs vai lota de pastas =D se ninguem te ajuda ate meio dia eu tento te da uma ajuda flw , foi mal ae to levando esporro aki ja xD ate Compartilhar este post Link para o post Compartilhar em outros sites
will_pHp 0 Denunciar post Postado Junho 16, 2009 ai cezaarr eu consegui fazer a inclusão aqui, tanto na tabela de imagens como na agenda com tudo certo, a unica coisa q esta pegando agora é q quando grava na tabela imagens renomeia o arquivo com o id da tabela agenda, tipo se eu tenho uma imagem com o nome teste.jpg fica 1teste.jpg e 1teste_thumb.jpg no banco axu q isso naum é problema mais se você puder me da um tok pra consertar isso fico grato. o código completo ficou assim: <?php include('config.php'); $ox = " hidden"; $box = " #EEEEEE solid 1px"; if(isset($_POST['done'])){ $opcao = $_POST['opcao']; $teste = $_POST['teste']; if(empty($opcao) || empty($teste)){ $alerta = "<div id=\"alert\">Os campos em vermelho devem ser preenchidos!</div>"; $ox = " visible"; $box = " #FF0000 solid 1px"; }else{ $ox = " visible"; $box = " #EEEEEE solid 1px"; $busca = "SELECT * FROM agenda WHERE opcao='$opcao', teste='$teste'"; $query = mysql_query($busca); $total = mysql_num_rows($query); if ($total==0){ $query = "INSERT INTO agenda (apcao,teste) VALUES ('$opcao','$teste)"; mysql_query($query); //aqui começa o upload $idGerada = mysql_insert_id(); $campos = $_POST['campos']; $num = $_POST['id']; $dir = "downloads/$num"; //tamanhos para criar as thumbs $largura_final = 160; $altura_final = 110; @mkdir($dir); if ($handle = @opendir($dir)){ while (false !== ($filez = readdir($handle))){ if ($filez != "." && $filez != ".."){ $filez = substr($filez,0,-4); $filez2.="$filez-*-"; } } $filez2 = substr($filez2, 0, -3); $filez3 = explode("-*-", $filez2); natsort ($filez3); $quanti = count($filez3); $quanti--; $y = $filez3[$quanti]; $y = substr($y, -2); closedir($handle); } $f_name = $_FILES['file']['name']; $f_tmp = $_FILES['file']['tmp_name']; $f_type = $_FILES['file']['type']; $cont=0; $p = $y; $desc = $_POST['desc']; for($i=0;$i<$campos;$i++){ $name = $f_name[$i]; $file = explode(".",$name); $filec = count($file); $filec = $filec-1; $file = $file[$filec]; $descr = $desc[$i]; $patha = $dir."$num"."$name"; $nome = "$num"."$name"; if ( ($name!="") and (is_file($f_tmp[$i]))){ if ($cont==0){ echo "<b>Arquivo(s) enviados:<br /></b>"; } echo $patha." - "; $up = move_uploaded_file($f_tmp[$i], $patha); //criar thumb if(preg_match("/.jpg/i", "$nome")){ $format = 'image/jpeg'; } if (preg_match("/.gif/i", "$nome")){ $format = 'image/gif'; } if(preg_match("/.png/i", "$nome")){ $format = 'image/png'; } if($format!=''){ $tamanho = getimagesize($dir.$nome); $largura_fonte = $tamanho[0]; $altura_fonte = $tamanho[1]; switch($format){ case 'image/jpeg': $source = imagecreatefromjpeg($dir.$nome); break; case 'image/gif'; $source = imagecreatefromgif($dir.$nome); break; case 'image/png': $source = imagecreatefrompng($dir.$nome); break; } $nome_thumb = substr($nome,0,strpos($nome,"."))."_thumb".substr($nome,strpos($nome,".")); $imagem_destino = imagecreatetruecolor($largura_final,$altura_final); imagealphablending($imagem_destino, false); imagecopyresized($imagem_destino, $source, 0, 0, 0, 0, $largura_final, $altura_final, $largura_fonte, $altura_fonte); @imagejpeg($imagem_destino, $dir.$nome_thumb, 70); imagedestroy($source); imagedestroy($imagem_destino); } //fim do thumb if ($up==true): echo "<i>Enviado!</i>"; $cont++; $qry = mysql_query("INSERT INTO imagens (idGerada,foto,thumb) VALUES ('$idGerada','$nome','$nome_thumb')"); else: echo "<i>Falhou!</i>"; endif; echo "<br />"; } } $alerta = "<div id=\"alert2\">Opção cadastrada com sucesso!</div>"; $ox = " hidden;"; $box = " #000000 solid 1px;"; }else{ $alerta = "<div id=\"alert\">Esta opção ja se encontra cadastrada!</div>"; } } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>:: Página de teste ::</title> <style> .erro{ font-family: Arial, Helvetica, sans-serif; color: #FF0000; font-size: 10px; visibility:<?=$ox;?>; margin-top: -10px; margin-bottom: -10px; } #erro { border: <?=$box;?>; } </style> <script type="text/javascript"> var mainDivName = 'eventDates'; function addEvent(){ var ni = document.getElementById(mainDivName); var numi = document.getElementById('campos'); var num = (document.getElementById("campos").value -1)+ 2; numi.value = num; var divIdName = "eventDate"+num+"Div"; var newdiv = document.createElement('div'); newdiv.setAttribute("id",divIdName); newdiv.innerHTML = "<label>Descrição <i><font color='#CC0000'>"+num+"</font></i>:</label><input type=\"text\" name=\"desc[]\" size=\"38\"><label>Imagem:</label><input type=\"file\" name=\"file[]\" size=\"44\"> <a href=\"#ft\" onclick=\"removeEvent(\'"+divIdName+"\')\"> [e<font color='#CC0000'>x</font>cluir]</a><hr>"; ni.appendChild(newdiv); } function removeEvent(divNum){ var d = document.getElementById(mainDivName); var olddiv = document.getElementById(divNum); d.removeChild(olddiv); } </script> </head> <body> <div id="wrap"> <div id="content"> <div id="main"> <!-- começo do conteúdo --> <div class="post"> <h1>Adicionar nova opção</h1> <p>Aqui você poderá adicionar novas opções ao imóvel, <i>ex.(Piscina, TV a cabo, etc.)</i></p> <?=$alerta;?> <form method="post" action="" enctype="multipart/form-data"> <p> <h2 class="add">opcao</h2> <label>opcao:</label> <input type='text' name='opcao' value='<? echo $_POST['opcao'];?>' id='erro' size="38"> <label>Teste:</label> <input type='text' name='teste' value='<? echo $_POST['teste'];?>' id='erro' size="38"> <a name="ft"></a><h2 class="add">Imagens do imóvel</h2> <input type="hidden" name="campos" value="0" id="campos" /> <div id="eventDates"></div> <center>[ <a href="#ft" onClick="addEvent();">Adicionar campos</a> ]</center> <input type='submit' class="button" name='formulario' value='Cadastrar'><input type="hidden" name="done" value="" /> </p> </form> </div> <!-- fim do conteúdo --> </div> </div> </div> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
cezaarr 0 Denunciar post Postado Junho 16, 2009 e ai cara conseguiu resolve o script ai ? ^_^ Compartilhar este post Link para o post Compartilhar em outros sites
will_pHp 0 Denunciar post Postado Junho 16, 2009 e ai cara conseguiu resolve o script ai ? ^_^ consegui cara, deu um #@?$%~ trabalho so tem umas coisas pra resolver ainda q naum esta me agradando muito Compartilhar este post Link para o post Compartilhar em outros sites
cezaarr 0 Denunciar post Postado Junho 16, 2009 e ai cara conseguiu resolve o script ai ? ^_^ consegui cara, deu um #@?$%~ trabalho so tem umas coisas pra resolver ainda q naum esta me agradando muito beleza :P se tive ao meu alcance fala ai q agente tenta ajuda http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
will_pHp 0 Denunciar post Postado Junho 16, 2009 e ai cara conseguiu resolve o script ai ? ^_^ consegui cara, deu um #@?$%~ trabalho so tem umas coisas pra resolver ainda q naum esta me agradando muito beleza :P se tive ao meu alcance fala ai q agente tenta ajuda http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif ai cara muito obrigado pela luz, consegui resolver tudo agora, so vou colocar umas frilulas no script agora q esta tudo pronto tbm ja editei o código, se você quiser utilizar fique a vontade. moderador pode colocar o tópico como resolvido por favor q eu naum sei onde coloca Compartilhar este post Link para o post Compartilhar em outros sites
cezaarr 0 Denunciar post Postado Junho 16, 2009 ai sim http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif , n vo precisa do codigo nao , mas vlw o importante e q você conseguiu :P flwww abrcs http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites