Jump to content

formulário vs imagem


c3ejo0

Recommended Posts

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

Link to comment
Share on other sites

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 }?>

Link to comment
Share on other sites

  • 2 weeks later...

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

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.