Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 470

Problema com Edição de Campo So altera o ultimo ID

24-07-2018 14:36

fotoembarcacao_fn.php
function atualizar() { $fotoembarcacao_id = $_POST['fotoembarcacao_id']; $embarcacao_id = $_REQUEST['embarcacao_id']; $foto = new Fotoembarcacao(); $foto->fotoembarcacao_titulo = addslashes($_POST['fotoembarcacao_titulo']); $foto->fotoembarcacao_id = $_POST['fotoembarcacao_id']; $foto->atualizar(); Filter:: redirect("embarcacao_editar.php?id=$embarcacao_id&fotoembarcacao_id=$fotoembarcacao_id"); }


Modulo Fotoembarcacao.php
<?php require_once 'Controle.php'; class Fotoembarcacao extends Controle { public $db; public $fotoembarcacao_id; public $fotoembarcacao_titulo; public $fotoembarcacao_url; public $fotoembarcacao_pos; public $fotoembarcacao_idalbum; public $result; public function __construct() { parent::__construct(); $this->db = new DB; } public function incluir() { $this->insert("fotoembarcacao", "fotoembarcacao_titulo, fotoembarcacao_url, fotoembarcacao_idalbum", "'$this->fotoembarcacao_titulo','$this->fotoembarcacao_url', '$this->fotoembarcacao_idalbum'"); } public function getFotoembarcacao() { $sql = "SELECT * FROM produto_foto WHERE foto_id = $this->foto_id"; $this->result = mysql_query($sql); if ($this->result) { while ($retorna = mysql_fetch_object($this->result)) { $this->setId($retorna->foto_id); $this->setUrl($retorna->foto_url); $this->setFotoProduto($retorna->foto_produto); } } } public function getFotoembarcacaos() { $this->select("fotoembarcacao", "", "*", "", " INNER JOIN embarcacao on (fotoembarcacao_idalbum = embarcacao_id) where fotoembarcacao_idalbum = $this->fotoembarcacao_idalbum ORDER BY fotoembarcacao_pos ASC", ""); } public function getProjetoFotoembarcacao() { $this->select("fotoembarcacao"); } public function getFotoembarcacaoCapa($album_id) { $sql = "SELECT * FROM fotoembarcacao where fotoembarcacao_url = $album_id order by fotoembarcacao_id desc limit 0,1"; $this->result = mysql_query($sql); if ($this->result) { while ($linha = mysql_fetch_object($this->result)) { $this->fotoembarcacao_url = $linha; } return $this->fotoembarcacao_url; } } public function atualizar() { $this->update("fotoembarcacao", "fotoembarcacao_titulo = '$this->fotoembarcacao_titulo'", "fotoembarcacao_id = '$this->fotoembarcacao_id'"); }

embarcacao_editar.php

<?php $foto = new Fotoembarcacao(); $foto->fotoembarcacao_idalbum = $embarcacao_id; $foto->getFotoembarcacaos(); ?> <!-- <form enctype="multipart/form-data" method="post" action="fotoembarcacao_fn.php?acao=atualizar">--> <form enctype="multipart/form-data" method="post" action="fotoembarcacao_fn.php?acao=atualizar&embarcacao_id=<?= $embarcacao_id ?>"> <div id="galeria" class="col-sm-12 col-md-12" style="border:0px solid red;"> <?php if (isset($foto->db->data[0])) : ?> <?php foreach ($foto->db->data as $f) : ?> <div class="col-md-2 col-sm-3 col-xs-6 <? echo $f->fotoembarcacao_id ?>"> <input type="text" name="fotoembarcacao_titulo" value="<?= $f->fotoembarcacao_titulo ?>"> <input type="hidden" id="fotoembarcacao_id" name="fotoembarcacao_id" value="<? echo $f->fotoembarcacao_id; ?>" > <button class="btn btn-primary" type="submit"><div class="dz-success-mark"><span> ✔</span></button> </div> <?php endforeach; ?> <?php endif; ?> </div> </form>


Tenho vários campos de descrição no mesmo album de foto, mas quando clico em alterar ele altera somente o ultimo id, tem algum erro nesse código ai ?
Se não entender muito bem eu gravo um vídeo explicando o problema para visualizar melhor o problema..
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17840
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Problema com Edição de Campo So altera o ultimo ID

24-07-2018 16:01

Esse problema acontece devido a estrutura do código em si. Por exemplo:

<form action="post.php" method="GET"> <input type="input" name="campo" value="1"> <input type="input" name="campo" value="2"> <input type="submit"> </form>

De acordo com a estrutura do exemplo acima existem vários inputs com o mesmo campo, e caso seja dado um submit somente o último input input será capturado devido a repetição dos names.

Para solucionar o problema você tem que moldar o seu código de modo que cada bloco de alteração tenha o seu próprio formulário individual.
0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 470

Re: Problema com Edição de Campo So altera o ultimo ID

24-07-2018 21:18

como faria para adaptar o codigo acima para deixar individual ?
0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 470

Re: Problema com Edição de Campo So altera o ultimo ID

24-07-2018 21:19

Somente mandando essa linha para dentro do
<form enctype="multipart/form-data" method="post" action="fotoembarcacao_fn.php?acao=atualizar&embarcacao_id=<?= $embarcacao_id ?>">

Funcionaria ?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17840
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Problema com Edição de Campo So altera o ultimo ID

25-07-2018 20:19

No seu caso o código usa o foreach, que vai repetir os inputs de acordo com a quantidade de dados.

Pelo que vi são 2 campos:

<input type="text" name="fotoembarcacao_titulo" value="<?= $f->fotoembarcacao_titulo ?>"> <input type="hidden" id="fotoembarcacao_id" name="fotoembarcacao_id" value="<? echo $f->fotoembarcacao_id; ?>" >

Entre as opções que vejo você poderia seguir a primeira dica, que seria aplicar todo o form dentro do foreach.

<?php foreach ($foto->db->data as $f) : ?> <form enctype="multipart/form-data" method="post" action="fotoembarcacao_fn.php?acao=atualizar&embarcacao_id=<?= $embarcacao_id ?>"> <div class="col-md-2 col-sm-3 col-xs-6 <? echo $f->fotoembarcacao_id ?>"> <input type="text" name="fotoembarcacao_titulo" value="<?= $f->fotoembarcacao_titulo ?>"> <input type="hidden" id="fotoembarcacao_id" name="fotoembarcacao_id" value="<? echo $f->fotoembarcacao_id; ?>" > <button class="btn btn-primary" type="submit"><div class="dz-success-mark"><span> ✔</span></button> </div> </form> <?php endforeach; ?>

Esse trecho acima é só para você ver como funciona a ideia. Em cada resultado você pode enviar os dados para ser alterado, individuamente.

Outra alternativa seria criar nomes individuais para cada campo tipo: descricao1, descricao2, etc.
Ai sim você poderia usar o form do mode que está. Porque cada campo seria único.
0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 470

Re: Problema com Edição de Campo So altera o ultimo ID

01-08-2018 21:45

resolvido meu querido, deu certinho muito obrigado, depois poderia pensar em fazer edição inline dentro de cada campo kkk, como fazer isso?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17840
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Problema com Edição de Campo So altera o ultimo ID

02-08-2018 20:03

Você pode fazer isso em jQuery. Mas você vai precisar seguir uma lógica para conseguir.

Por exemplo, se você quer escrever no input text, e ao sair do input text salvar os dados que escreveu, o texto do input terá que está relacionado com algum id do banco de dados.
0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 470

Re: Problema com Edição de Campo So altera o ultimo ID

31-08-2018 10:31

gostaria de saber como fazer a mesma coisa em Jquery pois da maneira normal eu fiz deu certo, mas em Jquery fica mais bonito kkk.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17840
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Problema com Edição de Campo So altera o ultimo ID

31-08-2018 19:43

Tem alguns scripts de edição de dados na mesma página nesse post http://codigosnaweb.com/forum/viewtopic ... ery#p35690

Nesses links a seguir também tem modelos prontos de script de edição de dados inline

https://www.jqueryscript.net/text/Inlin ... eEdit.html
https://editor.datatables.net/examples/ ... ing/simple

Você pode encontrar vários modelos na internet.
0

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado