update mysql data base com select list menu - Versão de Impressão +- Forum Pplware (http://forum.pplware.com) +-- Fórum: Mais Tech (/forumdisplay.php?fid=11) +--- Fórum: Programação e Web (/forumdisplay.php?fid=16) +--- Tópico: update mysql data base com select list menu (/showthread.php?tid=18611) |
update mysql data base com select list menu - joaonunofz - 13-03-2014 14:16 BOM DIA, JA CONSEGUI COM QUE A ULTIMA LINHA QUE ME SAI DA BASE DADOS SEJA ALTERADA....MAS SÓ NA ULTIMA.....POIS NOS RESTANTES NAO FUNCIOINA......ALGUEM ME PODE AJUDAR? EU PRETENDIA ALTERAR O ESTADO DAS ENCOMENDAS ... <?php if(isset($_REQUEST['alterar'])){ require 'LIGACAO_bd.php'; // $id = $_POST['id']; $alterar ="UPDATE encomendas SET estado='".$_POST['alterar_estado']."' WHERE id='".$_POST['id']."' "; $estado = mysql_query($alterar); } ?> <?php require 'LIGACAO_bd.php'; $escolher ="SELECT * FROM encomendas"; $consulta = mysql_query($escolher); ?> <form action="ver_encomendas.php" method="post" name="alterar dados"> <table width="1000" border="0" cellspacing="0" align="center"> <tr align="center" class="tabAZUL1"> <td width="20">ID</td> <td width="81">USUARIO</td> <td width="87">PRODUTO</td> <td width="42">QTD</td> <td width="103">DOSE</td> <td width="96">DIA ENTREGA</td> <td width="109">HORA ENTREGA</td> <td width="127">DATA ENCOMENDA</td> <td width="121">ESTADO</td> <td width="107">ATUALIZAR</td> <td width="85"><input type="submit" value="ALTERAR" disabled="disabled" /></td> </tr> <?php while($mostrar = mysql_fetch_array($consulta)){ ?> <tr align="center" class="corTABELA" > <td class="texto"><?php echo $mostrar['id'] ;?></td> <td class="texto"><?php echo $mostrar['nome'];?></td> <td class="texto"><?php echo $mostrar['produto'];?></td> <td class="texto"><?php echo $mostrar['quantidade'];?></td> <td class="texto"><?php echo $mostrar['dose'];?></td> <td class="texto"><?php echo $mostrar['dia_entrega'] ;?></td> <td class="texto"><?php echo $mostrar['hora_entrega'] ;?></td> <td class="texto"><?php echo $mostrar['data_encomenda'] ;?></td> <td class="texto"><?php echo $mostrar['estado'] ;?></td> <td><select name="alterar_estado"> <option value="pendente">pendente</option> <option value="feita">feita</option> <option value="esgotado">esgotado</option> </select></td> <td><input type="submit" name="alterar" value="ALTERAR" style="cursor:pointer" /><input type="hidden" name="id" id="id" value="<?php echo $mostrar ['id'] ; ?>" /></td> <?php } ?> </tr> </table> </form> RE: update mysql data base com select list menu - Corvus - 13-03-2014 15:06 Tu crias uma tonelada de botões submit e hidden inputs com o nome id... o form vai ignorar todos excepto o último de cada. Por isso é que só consegues editar o último registo obtido da base de dados. (E por favor, usa as tags de [ code ] e [/ code ] (sem espaços dentro) para delimitar o código. Fica muito mais legível) RE: update mysql data base com select list menu - joaonunofz - 13-03-2014 19:42 (13-03-2014 15:06)Corvus Escreveu: Tu crias uma tonelada de botões submit e hidden inputs com o nome id... o form vai ignorar todos excepto o último de cada. Por isso é que só consegues editar o último registo obtido da base de dados.então no meu caso ...como posso dar volta á questão ? RE: update mysql data base com select list menu - Corvus - 13-03-2014 21:47 Uma maneira que estou a ver de dares a volta à situação seria concatenares o id do registo ao nome da form. Assim ficas com nomes diferentes para cada registo. A complicação é que terás de fazer um split ao nome quando fores processar o post no servidor. Algo deste género (atenção que não testei o código, é apenas uma ideia tirada da cabeça): Ao criar a form: Código: ... Ao processar o post: Código: foreach ($var in $_POST) { Uma última nota: não adianta mandares mensagem privada pois não é isso que me faz vir aqui ao fórum. Aliás, só vejo se tenho mensagens privadas quando cá venho... e nota bem a minha assinatura dos posts RE: update mysql data base com select list menu - joaonunofz - 13-03-2014 23:20 (13-03-2014 21:47)Corvus Escreveu: Uma maneira que estou a ver de dares a volta à situação seria concatenares o id do registo ao nome da form. Assim ficas com nomes diferentes para cada registo. A complicação é que terás de fazer um split ao nome quando fores processar o post no servidor. tá...muito obrigado pela dica, e desculpa qq coisa, pois sou novato nestas coisas |