Ir para o conteúdo
c3ejo0

formulário vs imagem

Mensagens Recomendadas

c3ejo0    0
c3ejo0

Boas Tardes!

Tenho um formulário que recebe uma lista de itens da base de dados. Cada um destes itens tem à frente uma imagem que serve para editar e outra para remover o respectivo item. A minha dúvida é como esta página envia para a seguinte (que efectua a acção pretendida) o respectivo id ?

Já fiz coisas semelhantes mas antes a página de editar e remover eram distintas e  havia uma radiobox ou checkbox  que enviava o id e um botão de submeter, o que não acontece neste caso porque agora a hiperligação é feita através de clique na imagem respectiva

Aqui fica o código:

<form action="nextPage.php" method="get">
                <?php while ($linha = mysql_fetch_assoc($query)){ ?>
           	  <div class="lista_item"><?php echo $linha["nome_categoria"]; ?></div>
                    <div class="item_sign"><a href="categoria_edit.php"><img src="../_images/edit_icon.jpg" alt="Editar Categoria" width="35" height="35" /><input type="hidden" value="<?php echo $linha['id_categoria']; ?>" name="editar" /></a></div>
                    <div class="item_sign"><a href="categoria_delete.php"><img src="../_images/remove_icon.png"  alt="Remover Categoria" width="35" height="35" /></a></div>
                    <br />
                  
			<?php }?>
              </form>

O que penso é que se calhar não posso utilizar aqui  formulário, mas ao mesmo tempo a única maneira que eu tenho de enviar o id para a página seguinte é através do método  definido no formulário, ou não?

Obrigado a quem me puder ajudar

Cumprimentos

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
yoda    139
yoda

Ou usas link, ou usas javascript para que quando carregues numa das opções, ele coloque o id e a acção no action do form e submeta os dados.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
c3ejo0    0
c3ejo0

Yoda, obrigado pela resposta. Decidi ir através de link, mas julgo que não era desta maneira que tinhas pensado

consegui resolver criando  dois forms, um para cada acção:


<?php while ($linha = mysql_fetch_assoc($query)){ ?>
        <div class="lista_item"><?php echo $linha["nome_categoria"]; ?></div>
         <form method="get" name="form_categoria" action="categoria_edit.php">
              <div class="item_sign">
                     <a href="categoria_edit.php?id=<?php echo $linha['id_categoria']; ?>">
                           <img src="../_images/edit_icon.jpg" alt="Editar Categoria" width="35" height="35" />
                      </a>
               </div>
           </form> 
                    	
            <form method="get" name="form_categoria" action="categoria_delete.php">
                <div class="item_sign">
                      <a href="categoria_delete.php?id=<?php echo $linha['id_categoria']; ?>">
                            <img src="../_images/remove_icon.png"  alt="Remover Categoria" width="35" height="35" />
                        </a>
                   </div>
              </form>
              <br />
<?php }?>

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
c3ejo0    0
c3ejo0

o que eu achei desta forma é que assim um bocado à martelada / desenrasca. para ser sincero até estava a espera de levar uma "nega", mas ainda bem que assim não foi. acredito que por javascript tenha as suas vantagens, mas como eu não estava a ver como fazer decidi assim.

obrigado!

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
jcfr    0
jcfr

também podias ter utilizado o method post utilizando uma form como, pelo que percebi, estavas habituado a fazer, apenas tinhas de substituir o habitual

<input type="submit" value="qualquer coisa">

por algo deste genero:

<input name="editar" type="image"  src="editar.png" style="border-width:0px;height:22px;width:136px;" />

assim iria aparecer a imagem tal como querias e ao precionares a imagem iria fazer exactamente o mesmo que o submit habitual, é muito util para formularios quando preferes criar os teus proprios botoes...

com o codigo do produto como querias terias algo do genero:

<form method="post" action="editar.php">
<input type="hidden" name="id" id="id" value="<?php echo $id_do_produto ?>" />
<input name="editar" type="image"  src="editar.png" style="border-width:0px;height:22px;width:136px;" />
</form>

isto como ja deves ter percebido ia exibir uma imagem de edição que ao ser precionada iria enviar o codigo do produto para a pagina editar.

se pretenderes ter a edição e eliminação na mesma página basta acrescentares mais um parametro:

<form method="post" action="editar.php">
<input type="hidden" name="id" id="id" value="<?php echo $id_do_produto ?>" />
<input type="hidden" name="accao" id="id" vue="1" />
<input name="editar" type="image"  src="editar.png" style="border-width:0px;height:22px;width:136px;" />
</form>

sendo que o valor um podia ser qualquer outro valor que irias receber na pagina editar e utilizarias para distinguir a operação a efectuar do genero:

<?php
if($_POST['accao']==1){
    /////////codigo de edição
}else if($_POST['accao']==1){
   /////////codigo para eliminar o produto
}else{
echo "accao não seleccionada";
}


?>

espero que tenha sido util

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade