Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

kim sue il

[Resolvido] Foreach com submit's

Recommended Posts

Olá, no ForEach passei varias variáveis dentro de um form, quando o usuário clica em 'submit' é sempre retornada a última variável enviado, e não a variável do submit que ele clicou, coloquei um alert do onClick do submit, e a variável está correta, mas no PHP não consigo pegar a bendita variável... sempre pega a última, sabem como consigo resolver isto?

 

Desde já, Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

foreach($aliados as $aliado){
if($aliado == 0){

} else {

$aliado_consulta = mysql_query("SELECT * FROM equipes WHERE id_equipe = '$aliado'");
$abreviacao_ = mysql_result($aliado_consulta, 0, 'abrev');
echo "<tr><td><a href='jogo.php?pagina=ver_equipe&equipe=$aliado'>".$abreviacao_."</a></td>
 <td></td>
 <td>
 <input type='hidden' name='aliado_cancelar[]' value='$aliado'/>
 <input type='submit' name='cancelar_ali2' value='Cancelar'/></td>
 </tr><tr>";

}
}

 

O código acima, possui um único FORM que envia tudo para a página seguinte:

 

if(isset($_POST['cancelar_ali2'])){
$aliado = $_POST['aliado_cancelar'];
$aliados = mysql_query("SELECT * FROM equipes WHERE id_equipe = '$id_equipe'");
$aliados = mysql_result($aliados, 0, 'aliados');
$aliados = explode(".", $aliados);
$alianca = "";

foreach($aliado as $aliado_id){

}
foreach($aliados as $aliado_antigo){
if(($aliado_antigo != $aliado) && ($aliado_antigo != 0)){

$alianca .= $aliado_antigo.".";

}

}

}

 

Explicando o código, é um game browser, o usuário terá aliados que serão colocados em uma célula do Mysql, colocado por ID e separados por um ponnto... (EX: 1.2.3.4.5.15.2005.75.7...), até aí tudo bem, quando recebo o valor do form... a cancelar_ali2 me envia sempre o último resultado do ForEach... tentei colocar com Array, mas assim não tenho como saber em qual botão o usuário clicou... sabe algo que possa resolver? Desde já, obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

o problema parece estar no campo hidden, que é um array.

uma solução é criar um form para cada elemento do loop, assim o campo hidden não precisa ser um array

 

Como conseguiria fazer isso? Porque se eu colocar um form no ForEach, serão vários forms com o mesmo nome... vai dar no mesmo, não?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não haverá problemas em todos terem o mesmo nome (atributo "name"). Só não podem ter os mesmos id's (em termos de validação html)

 

você terá um submit pra cada form. desde que você não precise de informações de mais de um deles, funcionará corretamente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não haverá problemas em todos terem o mesmo nome (atributo "name"). Só não podem ter os mesmos id's (em termos de validação html)

 

você terá um submit pra cada form. desde que você não precise de informações de mais de um deles, funcionará corretamente

 

Incrível cara... deu certo *-*

 

Você é um gênio, MUITO obrigado!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.