Lord_Rato 4 Denunciar post Postado Dezembro 8, 2015 Olá pessoal.Estou com o seguinte problema nas mãos: Estou criando uma lista de resultados do MySQL, e dentro de cada linha da lista um botão para que seja enviado o id da linha escolhida do resultado, porém, não importa qual dos botões seja selecionado, o id que é enviado é sempre o ultimo da pesquisa do MySQL. Eu entendo que meu laço de repetição está sobrescrevendo as variáveis, mas ainda não encontrei solução para que em cada um dos botões fique com o id da linha do resultado da pesquisa.Há como criar um array que recebe os resultados dos id's da pesquisa no banco, e, por meio de um for, onde eu apontaria o índice que desejo nos botões?Eu até tentei fazer algo assim, mas não consegui encontrar a lógica. Abaixo o código para análise:<?php include '../model/conexao.php';?><html> <head> <title>Teste</title> </head><body><form name="enviar_dados" method="POST" action="phparray.php"> <table> <?php $sql_consulta = "SELECT id_cli, id_empresa, codigo_cli, nome_razao_cli, cpf_cnpj_cli, end_res_cli, num_end_res_cli, cidade_res_cli, tel1_cli FROM clientes WHERE codigo_cli LIKE '3%' AND condicao_cli='1' AND id_empresa='2';"; $sql_resultado = mysqli_query($conexao,$sql_consulta); while($registro = mysqli_fetch_row($sql_resultado)){ $idCli = $registro[0]; $idEmpresa = $registro[1]; $codigoCli = $registro[2]; $nomeCli = $registro[3]; $cpfCli = $registro[4]; $endResCli = $registro[5]; $numEndResCli = $registro[6]; $cidadeResCli = $registro[7]; $tel1Cli = $registro[8]; for($i = 0; $i < count($sql_resultado); $i++){ $idBotao = array($registro[0]); echo "<tr>"; echo "<td align='center'>" . $codigoCli ."</td>"; echo "<td width='3%'></td>"; echo "<td align='center'>" . $nomeCli ."</td>"; echo "<td width='3%'></td>"; echo "<td align='center'>" . $cpfCli ."</td>"; echo "<td width='3%'></td>"; echo "<td align='center'>" . $endResCli .", " . $numEndResCli . "</td>"; echo "<td width='3%'></td>"; echo "<td align='center'>" . $cidadeResCli ."</td>"; echo "<td width='3%'></td>"; echo "<td align='center'>" . $tel1Cli ."</td>"; echo "<td width='3%'></td>"; echo "<td align='center'><input type='hidden' name='id_cli' value='" . $idBotao[$i] . "' /><input type='submit' name='result' value='Alterar' /></td>"; echo "</tr>"; } } ?> </table> </form> </body></html> Compartilhar este post Link para o post Compartilhar em outros sites
Lord_Rato 4 Denunciar post Postado Dezembro 9, 2015 Mais uma vez obrigado por tentarem ajudar.Resolvi o problema graças a ajuda de um amigo programador. A explicação dele compartilho com todos os interessados aqui: Não há como utilizar botões neste caso (pois os botões exigem nome, e quando o botão é criado dentro do laço, todos os botões recebem o mesmo nome, por esse motivo o valor é sobrescrito), o correto foi substituir os botões por link's, passando o formulário não por POST e sim por GET para o programa php que faz a alteração. <?php include '../model/conexao.php';?><html> <head> <title>Teste</title> </head><body><form name="enviar_dados" method="GET" action="editar.php"> <table> <?php $sql_consulta = "SELECT id_cli, id_empresa, codigo_cli, nome_razao_cli, cpf_cnpj_cli, end_res_cli, num_end_res_cli, cidade_res_cli, tel1_cli FROM clientes WHERE codigo_cli LIKE '3%' AND condicao_cli='1' AND id_empresa='2';"; $sql_resultado = mysqli_query($conexao,$sql_consulta); while($registro = mysqli_fetch_row($sql_resultado)){ $idCli = $registro[0]; $idEmpresa = $registro[1]; $codigoCli = $registro[2]; $nomeCli = $registro[3]; $cpfCli = $registro[4]; $endResCli = $registro[5]; $numEndResCli = $registro[6]; $cidadeResCli = $registro[7]; $tel1Cli = $registro[8]; echo "<tr>"; echo "<td align='center'>" . $codigoCli ."</td>"; echo "<td width='3%'></td>"; echo "<td align='center'>" . $nomeCli ."</td>"; echo "<td width='3%'></td>"; echo "<td align='center'>" . $cpfCli ."</td>"; echo "<td width='3%'></td>"; echo "<td align='center'>" . $endResCli .", " . $numEndResCli . "</td>"; echo "<td width='3%'></td>"; echo "<td align='center'>" . $cidadeResCli ."</td>"; echo "<td width='3%'></td>"; echo "<td align='center'>" . $tel1Cli ."</td>"; echo "<td width='3%'></td>"; echo "<td align='center'><a href='editar.php?id=' " . $idCli . " ' />Alterar</a></td>"; echo "</tr>"; } } ?> </table> </form> </body></html> Por favor, encerrem este tópico.Obrigado. :) Compartilhar este post Link para o post Compartilhar em outros sites