Ir para conteúdo

POWERED BY:

Arquivado

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

Washington Moura

Problemas com Array

Recommended Posts

Galera Boa Tarde,

 

Este é meu primeiro post no IMasters

Sou Iniciante em PHP agradeceria muito a ajuda.

 

meu problema é o seguinte a traves de um form paginado envio os id selecionados em array, como imagem abaixo:

 

imagem1.png

 

a pagina seguinte recebe o array e abre um PopUp com o primeiro id, eu cadastro o que preciso, na ultima pagina, eu mando dar um refresh na pagina que chamou o popup e fecho o popup.

 

Eu gostaria de receber o proximo id do array em outro popup e seguir a sequencia até acabarem os ids do array.

 

Muito obrigado.

Washington Moura

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi muito, mas acho qeu o que você precisa é de um foreach

 

http://php.net/manual/en/control-structures.foreach.php

 

 

 

Cara é tipo assim eu tenho um array[1,2,3], envio para um popup o array[1], o popup da um refresh na pagina que o chamou e deveria abrir outro popup com o array[2], depois o array[3] e etc

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, se os índices são sequenciais, bastaria você incrementar o valor.

 

Mas atente que você TEM de ter acesso à esse array no escopo desejado. Senão terá um Undefined Index ou Undefined Variable.

 

Seria algo assim:

 

$next = FALSE;

if( array_key_exists( 'lastIndex', $_POST ) ) {

   $next = $_POST['lastIndex'] + 1;

   if( array_key_exists( $next, $_SESSION ) ) {

       $next = $_SESSION[ $next ];
   }
}

if( $next == FALSE ) {
   // Ocorreu um erro. Mostra uma mensagem, redireciona, enfim...
}

Nesse exemplo eu pego um ID passado via POST (um hidden, por exemplo) e verifico se um índice à frente dele existe numa variável de sessão (previamente criada).

 

Se existir, eu uso. Se não não uso (óbvio). E se não usar, o valor FALSE se manterá, e deverá ser tratado no último IF.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gabriel eu não entendi muito em seu exemplo, poderia dar um exemplo mais claro?

 

olha eu estava tentando fazer assim:

 

recebo nesta pagina o array,

 

<?php
       $id=$_POST['id'];
for($i=0;$i<count($id);$i++){
	$id=$id[$i];
	echo "<script>javascript:janelaPopup('liberainstalacao_group_0.php?id=".$id."')</script>";
}
?>

 

ele chama o primeiro id do array mas quando da o refresh retorna o mesmo, o que eu poderia fazer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo Washington, você leu/entendeu o que faz a função foreach através

do link informado pelo gabriel? Entender oque as funções fazem é o principio

básico para saber oque deve ou não usar e como usar.

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O Foreach é basicamente um FOR porém utilizado para Arrays

se você vai ter que percorrer todos os dados dos arrays pegando sua chave e seu valor então ele seria bem util.

 

Veja esse exemplo:

<?php


$SuaArray = array("Teste"=>"Item1", "Outra"=>"Item2", "Mais Uma"=>"Item3");

foreach($SuaArray as $Key=>$Valor){

print "Chave->".$Key." , Valor->".$Valor."<br />";

}

?>

 

Resultado:

Chave->Teste , Valor->Item1

Chave->Outra , Valor->Item2

Chave->Mais Uma , Valor->Item3

 

Dentro do foreach iria seu código para executar o que precisa

Compartilhar este post


Link para o post
Compartilhar em outros sites

neste exemplo como pude notar ele abre 3 popups de uma vez, ou seja a execução de ficou assim:

Este é o script:

<?php
foreach($id as $teste){
	//echo $id=$id[$i++];
	echo $teste;
	echo "<script>javascript:janelaPopup('liberainstalacao_group_0.php?id=".$teste."')</script>";
               echo '<br>';
}
?>

Este é a Execução:

5<script>javascript:janelaPopup('liberainstalacao_group_0.php?id=5')</script>
6<script>javascript:janelaPopup('liberainstalacao_group_0.php?id=6')</script>
7<script>javascript:janelaPopup('liberainstalacao_group_0.php?id=7')</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você poderia armazenar as ID em um array no próprio javascript, e quando ele fechasse um popup checava se existe uma próxima posição no array e abriria uma nova popup.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você poderia armazenar as ID em um array no próprio javascript, e quando ele fechasse um popup checava se existe uma próxima posição no array e abriria uma nova popup.

 

poderia enviar-me um exemplo?

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.