biza Postado Maio 10, 2011 Denunciar Share Postado Maio 10, 2011 Caros amigos tenho problemas em actualizar um campos da minha base de dados, será que alguém me poderá ajudar?!Vou passar a descrever o meu problema.Tenho os seguintes campos de texto que estão definidos da seguinte forma:<input name="dia[]" type="text" size="25" value="'.$row2["dia_semana"].'"/> <input name="hora[]" type="text" size="25" value="'.$row2["horario"].'"/> Eles passam a ser entendidos como um array. Ao fazer o update destes campos tenho o seguinte code: <? $dia=$_POST["dia"]; for($i=0; $i<=count($dia); $i++){ mysql_query("UPDATE horario SET dia_semana='$dia', horario='".$_POST['hora']."', detalhe_modalidade_id=".$_GET['id']) or die(mysql_error()); } ?>o problema é que ele ao inserir na base de dados o respectivo update, preenche todos os campo da base de dados com "array";como se pode ver nessa tabela:alguém me pode ajudar ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Maio 10, 2011 Denunciar Share Postado Maio 10, 2011 <? $dia=$_POST["dia"]; for($i=0; $i<=count($dia); $i++){ mysql_query("UPDATE horario SET dia_semana='".$_POST['dia'][$i]."', horario='".$_POST['hora'][$i]."', detalhe_modalidade_id=".$_GET['id']) or die(mysql_error()); } ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 biza Postado Maio 10, 2011 Autor Denunciar Share Postado Maio 10, 2011 Ola Caro Eserra,Antes de mais gostaria de agradecer o facto de você me estar ajudando.implementei o codigo que você me dispos, o problema é que me esta dando os seguintes erros.Notice: Undefined offset: 2 in /Applications/MAMP/htdocs/cab/admin/ed_det_modalidade.php on line 151Notice: Undefined offset: 2 in /Applications/MAMP/htdocs/cab/admin/ed_det_modalidade.php on line 151 que são referentes a linha:mysql_query("UPDATE horario SET dia_semana='".$_POST['dia'][$i]."', horario='".$_POST['hora'][$i]."', detalhe_modalidade_id=".$_GET['id']) or die(mysql_error());verifico a minha tabela na base de dados e observo que ele muda todos os campos dia_semana e horario, para campos vazios e , o detalhe_modalidade_id é assumido em toda a tabela pelo ultimo id inserido Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Maio 10, 2011 Denunciar Share Postado Maio 10, 2011 Usa o print_r($_POST) para ver o que está vindo do formulário e já posta o formulário completo também. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 biza Postado Maio 11, 2011 Autor Denunciar Share Postado Maio 11, 2011 Caro Eserra isso é o que me esta devolvendo do print que você me disse para fazerArrayArray( [mod] => 3 [objectivo] => A prática do Karate tem como principais objectivos a aprendizagem do Karate-Do como uma arte marcial de auto-defesa, o conhecimento e aplicação das regras de conduta e etiqueta do Karate-Do e o desenvolvimento correto do corpo e do espírito. [beneficio] => Do cumprimento dos objectivos, o Karate tem inúmeros benefícios físicos e espirituais. Fisicamente permite aumentar a coordenação psicomotora, velocidade de reacção, resistência física, flexibilidade e velocidade. Espiritualmente permite desenvolver a disciplina, perseverança e auto-controle, bem como, comportamentos sociais associados [material] => Os uniformes do Karate (Karate Gi, erradamente conhecido como Kimono) devem ter o símbolo da FPKS. [dia] => Array ( [0] => Quinta - Feira [1] => Terça - Feira ) [hora] => Array ( [0] => 18:00 às 20:30 [1] => 18:00 às 20:30 ) [destinatario] => O Karate é para todas as pessoas desde que assumam o compromisso de trabalhar para a sua progressão e cumprir com a disciplina de conduta/etiqueta como praticante de Karate. A aprendizagem do Karate dirigido às crianças privilegia o desenvolvimento das aptidões fundamentais da criança, consideradas como indivíduos em plena evolução e não como adultos em miniatura. [geral] => Cada sessão prática de Karate inicia-se com exercícios de aquecimento seguido do treino de Karate. Este pode ser desenvolvido considerando três partes distintas de ensino:• Kion (treino básico) - disciplina de aprendizagem das técnicas de Karaté. A repetição sistemática das técnicas de Karate são executadas no ar, sem adversário.• Kata (treino de formas) - disciplina de aprendizagem de esquemas de movimentos pré-determinados que significam ataques e defesas contra adversários imaginários. Os Kata permitem desenvolver a força, a velocidade, o equilíbrio, a intenção e a dinâmica dos movimentos.• Kumité (treino de combate) – disciplina que consiste no treino de combate entre dois praticantes que se defrontam, usando exercícios sistematizados, com objectivos bem definidos, e que progressivamente vão aumentando de exigência (conforme a graduação do praticante), até à fase em que o combate é completamente livre. [orientador] => Luís Dias [submit] => Guardar Alterações)Aqui fica o form inteiro é muito code...<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> <!-- CSS --> <link rel="stylesheet" type="text/css" media="screen" href="css/reset.css" /> <link rel="stylesheet" type="text/css" media="screen" href="css/main.css" /> <link rel="stylesheet" type="text/css" media="screen" href="css/custom-theme/jquery-ui-1.8.1.custom.css" /> <!-- IE specific CSS stylesheet --> <!--[if IE]> <link rel="stylesheet" type="text/css" media="screen" href="css/ie.css" /> <![endif]--> <!-- This stylesheet contains advanced CSS3 features that do not validate yet --> <link rel="stylesheet" type="text/css" media="screen" href="css/css3.css" /> <!-- JavaScript --> <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script> <script type="text/javascript" src="js/jquery-ui.min.js"></script> <script type="text/javascript" src="js/jquery.wysiwyg.js"></script> <script type="text/javascript" src="js/jquery.rounded.js"></script> <script type="text/javascript" src="js/excanvas.js"></script> <script type="text/javascript" src="js/jquery.visualize.js"></script> <script type="text/javascript" src="js/script.js"></script> <? $dir="../modalidades/"; $sql = "SELECT modalidade.id_modalidade, modalidade.modalidade, detalhe_modalidade.id_detalhe_modalidade, detalhe_modalidade.objectivos, detalhe_modalidade.beneficios, detalhe_modalidade.material, detalhe_modalidade.destinatarios, detalhe_modalidade.geral, detalhe_modalidade.modalidade_id, detalhe_modalidade.orientador, imagens.campo1, imagens.campo2, imagens.campo3, imagens.campo4, imagens.campo5, imagens.campo6, imagens.detalhe_modalidade_id, horario.id_horario, horario.dia_semana, horario.horario, horario.detalhe_modalidade_id FROM modalidade, detalhe_modalidade, imagens, horario WHERE detalhe_modalidade.modalidade_id = modalidade.id_modalidade AND detalhe_modalidade.id_detalhe_modalidade = imagens.detalhe_modalidade_id AND detalhe_modalidade.id_detalhe_modalidade = horario.detalhe_modalidade_id AND detalhe_modalidade.id_detalhe_modalidade=".$_GET['id']; $resultado = mysql_query($sql) or die ("Não foi possível realizar a consulta."); $rows=mysql_fetch_array($resultado); $mod_id = $rows["modalidade_id"]; $h = $rows["id_horario"]; $id =$_GET['id']; ?> <?php set_time_limit(0); $data = date("Y-m-d"); $sql1 = "SELECT campo1, campo2, campo3, campo4, campo5, campo6 FROM imagens WHERE detalhe_modalidade_id=".$_GET['id']; $sql1 = mysql_query($sql) or die ("a pesquisa não foi bem sucedida"); $imgs = mysql_fetch_array($sql1); $arquivo[0] = $imgs['campo1']; $arquivo[1] = $imgs['campo2']; $arquivo[2] = $imgs['campo3']; $arquivo[3] = $imgs['campo4']; $arquivo[4] = $imgs['campo5']; $arquivo[5] = $imgs['campo6']; for($g=0; $g <= count($arquivo); $g++){ $matriz[$g] = @$arquivo[$g]; } if (isset($_REQUEST['submit'])){ $imagens = $_FILES['arquivo']; for($g=0; $g <= count($imagens); $g++) //for($g=0; $g < sizeof($imagens); $g++) // for ($g = 0; $g < count($imagens); $g++) if($nome = $_FILES['arquivo']['name'][$g] != ""){ // para campos vazios $nome = $_FILES['arquivo']['name'][$g]; $tipo = $_FILES['arquivo']['type'][$g]; $tmpname = $_FILES['arquivo']['tmp_name'][$g]; $renomear = md5(uniqid(rand(), true)); // nome aleatorio $nome_grande = ($renomear . "-g.jpg"); // cria nome da imagem if($arquivo[$g]){ //remoçao $do = unlink("../modalidades/" . $arquivo[$g]); } $matriz[$g] = $nome_grande; $pasta_imagens = "../modalidades/"; //diretorio pra onde vai a imagem $caminho = $pasta_imagens . $nome; // caminho com nome da imagem e local para guardar //---------------------------------- CRIAR IMAGEM PROPORCIONAL ------------------------------------------- if(move_uploaded_file($tmpname, $caminho)) // move a tmp_name pro caminho dado { list($pontoX, $pontoY, $tipo) = getimagesize($caminho); $img = imagecreatefromjpeg($caminho); $largura_maxima = 800; //largura máxima $altura_maxima = 600; //altura máxima if ($pontoX == $pontoY) { // se a altura e largura originais forem iguais $largura = $largura_maxima; $altura = $largura_maxima; } elseif ($pontoX >= $pontoY) { // se a largura for maior que a altura $nova_largura = $largura_maxima; $nova_altura = ($pontoY*$nova_largura)/$pontoX; // mas se depois da redução a altura for maior que $altura_maxima então reduz novamente if ($nova_altura >= $altura_maxima) { $altura = $altura_maxima; $largura = ($nova_largura*$altura)/$nova_altura; } else { $largura = $largura_maxima; $altura = ($pontoY*$largura)/$pontoX; } } elseif ($pontoX <= $pontoY) { // se a largura for menor que a altura $nova_altura = $altura_maxima; $nova_largura = ($pontoX*$nova_altura)/$pontoY; // mas se depois da redução a largura for maior que a $largura_maxima então reduz novamente if ($nova_largura >= $largura_maxima) { $largura = $largura_maxima; $altura = ($nova_altura*$largura)/$nova_largura; } else { $altura = $altura_maxima; $largura = ($pontoX*$altura)/$pontoY; } } $foto_grande = imagecreatetruecolor($largura, $altura); // aqui eu pego a imagem no caminho e jogo na memoria imagecopyresampled($foto_grande, $img, 0, 0, 0, 0, $largura, $altura, $pontoX, $pontoY); // sample da imagem com o tamanho imagejpeg($foto_grande, $pasta_imagens . $nome_grande, 100); imagedestroy($foto_grande); unlink($caminho); // apaga a imagem original } // if move_uploaded_file $sql_insere= mysql_query("UPDATE imagens SET campo1='$matriz[0]', campo2='$matriz[1]', campo3='$matriz[2]', campo4='$matriz[3]', campo5='$matriz[4]', campo6='$matriz[5]', data='$data' WHERE detalhe_modalidade_id=".$_GET['id']); } $sql = "UPDATE detalhe_modalidade SET objectivos='".$_POST['objectivo']."',beneficios ='".$_POST['beneficio']."', material = '".$_POST['material']."', destinatarios = '".$_POST['destinatario']."', geral='".$_POST['geral']."', modalidade_id = '".$_POST['mod']."', orientador='".$_POST['orientador']."', data='$data' WHERE id_detalhe_modalidade = ".$_GET['id']; $sql = mysql_query($sql) or die ("Houve erro na gravação dos dados."); $dia=$_POST["dia"]; for($i=0; $i<=count($dia); $i++){ mysql_query("UPDATE horario SET dia_semana='".$_POST['dia'][$i]."', horario='".$_POST['hora'][$i]."', detalhe_modalidade_id=".$_GET['id']) or die(mysql_error()); } echo $dia; echo "<meta http-equiv='refresh' content='10;URL=index2.php?pag=dmod'>"; echo '<pre>'; print_r($_POST); echo '</pre>'; } ?> </head> <body> <div id="espaco"> <div class="notification information"> <? echo $linha['nome']?> pode Editar a modalidade no formulario abaixo mencionado. ID <? echo $id;?> </div> <div class="clear"></div> <div class="content-box"> <div class="content-box-header"> <h3>Editar Modalidade</h3> </div> <div class="content-box-content"> <form method="post" enctype="multipart/form-data" name="" action=""> <div id="item1">Modalidade:</div> <div id="item2"> <p> <? $result = mysql_query("SELECT id_modalidade, modalidade FROM modalidade ORDER BY modalidade ASC"); echo'<select name="mod" > <option value="option1" size="35">Seleccione a Modalidade</option>'; while( $row = mysql_fetch_array($result)){ if ($row[0]== $mod_id) echo '<option selected="yes" value="'.$row[0].'" size="35">'.$row[1].'</option>'; else echo'<option value="'.$row[0].'" size="35">'.$row[1].'</option>'; } mysql_free_result( $result ); echo"</select>"; ?> </p> </div> <div style="clear: both;"></div> <div id="item1">Objectivos:</div> <div id="item2"> <input name="objectivo" type="text" size="80" value="<? echo $rows["objectivos"] ?>"/></div> <div style="clear: both;"></div> <div id="item1">Beneficios:</div> <div id="item2"> <input name="beneficio" type="text" size="80" value="<? echo $rows["beneficios"] ?>"/></div> <div style="clear: both;"></div> <div id="item1">Material:</div> <div id="item2"> <input name="material" type="text" size="80"value="<? echo $rows["material"] ?>"/></div> <div style="clear: both;"></div> <div id="item1">Imagem:</div> <div id="item2"><input name="arquivo[]" type="file" size="15" class="content-box-header"/></div> <div id="fig"><? echo' <img src="'.$dir.''.$rows["campo1"].'" width="80" height="60" alt=""/> ';?></div> <div id="fig">Imagem</div> <div id="item2"><input name="arquivo[]" type="file" size="15" class="content-box-header" /></div> <div id="fig"><? echo' <img src="'.$dir.''.$rows["campo2"].'" width="80" height="60" alt=""/> ';?></div> <div style="clear: both;"></div> <div id="item1">Imagem:</div> <div id="item2"><input name="arquivo[]" type="file" size="15" class="content-box-header" /></div> <div id="fig"><? echo' <img src="'.$dir.''.$rows["campo3"].'" width="80" height="60" alt=""/> ';?></div> <div id="fig">Imagem</div> <div id="item2"><input name="arquivo[]" type="file" size="15" class="content-box-header" /></div> <div id="fig"><? echo' <img src="'.$dir.''.$rows["campo4"].'" width="80" height="60" alt=""/> ';?></div> <div style="clear: both;"></div> <div id="item1">Imagem:</div> <div id="item2"><input name="arquivo[]" type="file" size="15" class="content-box-header" /></div> <div id="fig"><? echo' <img src="'.$dir.''.$rows["campo5"].'" width="80" height="60" alt=""/> ';?></div> <div id="fig">Imagem</div> <div id="item2"><input name="arquivo[]" type="file" size="15" class="content-box-header" /></div> <div id="fig"><? echo' <img src="'.$dir.''.$rows["campo6"].'" width="80" height="60" alt=""/> ';?></div> <div style="clear: both;"></div> <div class="blux" id="barra"><h3>Horário</h3></div> <? $sql4 = "SELECT * FROM horario WHERE detalhe_modalidade_id=".$_GET['id']; $resultado4 = mysql_query($sql4) or die ("Não foi possível realizar a consulta."); while($row2 = mysql_fetch_array($resultado4)) { echo' <div id="item1">Dia da Semana:</div> <div id="item2"> <input name="dia[]" type="text" size="25" value="'.$row2["dia_semana"].'"/> </div> <div id="item1">Horas:</div> <div id="item2"> <input name="hora[]" type="text" size="25" value="'.$row2["horario"].'"/> </div> <div style="clear: both;"></div>'; } ?> <div id="item1">Destinatarios:</div> <div style="clear: both;"></div> <div id="item2"> <textarea name="destinatario" cols="150" rows="4" type="text"><? echo $rows["destinatarios"] ?></textarea> </div> <div style="clear: both;"></div> <div id="item2">Aspectos Gerais da Modalidade:</div> <div style="clear: both;"></div> <div id="item2"> <textarea name="geral" cols="150" rows="4" type="text" id="geral"><? echo $rows["geral"] ?></textarea> </div> <div style="clear: both;"></div> <div id="item1">Orientador:</div> <div id="item2"> <input name="orientador" type="text" size="40" value="<? echo $rows["orientador"] ?>"/> </div> <div style="clear: both;"></div> <div id="item_right"> <input name="submit" type="submit" class="button" id="submit" value="Guardar Alterações"></div> <div style="clear: both;"></div> </form> </div> <div class="clear"></div> </div> </div><!-- end .content-box --> <div class="clear"></div> <!-- end #content --> </div></div> </div> </body> </html> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 biza Postado Maio 18, 2011 Autor Denunciar Share Postado Maio 18, 2011 Alguém me ajude a resolver isto, por favor , estou em desepero Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
biza
Caros amigos tenho problemas em actualizar um campos da minha base de dados, será que alguém me poderá ajudar?!
Vou passar a descrever o meu problema.
Tenho os seguintes campos de texto que estão definidos da seguinte forma:
Eles passam a ser entendidos como um array. Ao fazer o update destes campos tenho o seguinte code:o problema é que ele ao inserir na base de dados o respectivo update, preenche todos os campo da base de dados com "array";
como se pode ver nessa tabela:
alguém me pode ajudar ?
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.