Ir para conteúdo
Fórum Script Brasil
  • 0

Problema no update


biza

Pergunta

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"].'"/>
horar.jpg 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:

table.jpg

alguém me pode ajudar ?

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
<?
$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());
}
?>

Link para o comentário
Compartilhar em outros sites

  • 0

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 151

Notice: 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

Link para o comentário
Compartilhar em outros sites

  • 0

Caro Eserra isso é o que me esta devolvendo do print que você me disse para fazer

Array

Array

(

[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>

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...