Leandromx 0 Denunciar post Postado Agosto 4, 2008 Oi pessoal, Só falta uma coisa para terminar o que eu quero seguinte, eu já gravo o array, já listo ele.. Só preciso fazer uma consulta dentro dele, sei usar o in_array vou postar, está funcionando <?php session_start(); $ids = "1,2,3,4,13"; $produtos = array($ids); $idp = $_GET['idproduto']; if(in_array($idp, $produtos) ) { echo "Id existente"; } else { $_SESSION["produtos"][] = $_GET['idproduto']; echo "Não consta ID e incluo o array"; } ?> beleza assim funciona, porque lá em cima eu fiz eu isso daqui $ids ="1,2,3,4,5" mas eu não quero fazer assim, eu preciso consulta através da seesion gravadas. Eu eu peguei a parte que lista tudo Isso ai funciona <? for ($i = 0; $i < count($_SESSION["produtos"]); $i++) { echo $_SESSION["produtos"][$i] . ","; $produto = $_SESSION["produtos"][$i]; } ?> E joguei dentro do $ids porque preciso criar "1,2,3,4,5" das minhas seções gravadas.. Só falta isso... não consigo mais sair disso.. Alguém poderia dar essa LUZ Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Agosto 4, 2008 http://forum.imasters.com.br/public/style_emoticons/default/seta.gif http://www.php.net/array_search Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Agosto 4, 2008 Então mas não consigo fazer.. Não sei se tenho que fazer um loop e listar o resultado dentro do array() é isso que naõ estou conseguindo fazer Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Agosto 4, 2008 Sim, coloque dentro do loop pra ele poder percorrer e pegar o id que você quer. Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Agosto 4, 2008 Acho que naõ estou explicando direito É assim eu tenho $ids = array(1,2,3,4,5,6,7,8); Depois eu listo dentro do array $produtos = array($ids); Depois eu procuro dentro do array if(in_array($idp, $produtos) ) Dessa forma manual funciona... Eu preciso fazer assim no array() montará as sessões gravadas certos? Ai eu preciso array(MOSTRAR AS SESSÕES GRAVADAS PARA PROCURAR) Isso que não sei fazer... Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Agosto 4, 2008 cara eu não estou te entendendo então... no link que te passei tem um exemplode como usar, você abriu a página do link que te passei ? Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Agosto 4, 2008 Abri sim, verifiquei tudo ,, estou desda 9 da manhã lendo e relendo um monte de coisa... Eu faço assim para listar todas as sessões gravadas for ($i = 0; $i < count($_SESSION["produtos4"]); $i++) { echo $_SESSION["produtos4"][$i] . ","; $produto = $_SESSION["produtos4"][$i] ; } beleza ele me trás tudo que foi gravada nesse exemplo: 1,2,3,4,5,6,7,8,9 etc... coloquei com virgula para listar dentro do array Ai eu peguei esse código acima e joguei dentro de um VAR para poder comparar dentro do array <?php session_start(); $produtos = array(for ($i = 0; $i < count($_SESSION["produtos4"]); $i++) { echo $_SESSION["produtos4"][$i] . ","; $produto = $_SESSION["produtos4"][$i]; }); $vai = $_GET['tipo']; if(in_array($vai, $produtos) ) { echo "Já consta "; } else { $_SESSION["produtos4"][] = $_GET['tipo']; echo "não tem e gravo"; } ?> Ai ele me dá o erro Parse error: syntax error, unexpected T_FOR, expecting ')' O que não estou sabendo fazer é montar array(todas as sessões gravadas) para procura usando in_array.. a forma manual funciona, ele acha certinho .. Mas preciso fazer a pesquisa das sessões gravadas... Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Agosto 4, 2008 Executa ai e veja se dar erro. <?php session_start(); $produtos = array(for ($i = 0; $i < count($_SESSION["produtos4"]); $i++)) { echo $_SESSION["produtos4"][$i] . ","; $produto = $_SESSION["produtos4"][$i]; }; $vai = $_GET['tipo']; if(in_array($vai, $produtos) ) { echo "Já consta "; } else { $_SESSION["produtos4"][] = $_GET['tipo']; echo "não tem e gravo"; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Agosto 4, 2008 Sim deu o mesmo erro Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Agosto 4, 2008 Ou seja, não pode colocar um for dentro de um array, iria endoidar tudo. o que tu quer não é pesquisar um determinado ID dentre as sessões já gravadas ? Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Agosto 4, 2008 Isso mesmo Alaerte por isso que fiz o for dentro do array() para montar o array(1,2,3) com as sessões já gravdas Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Agosto 4, 2008 Testa ai: Não tenha certeza, mais esse GET ai seria o id do produto pra ver se já está no arrai ne ? <?php for ($i = 0; $i < count($_SESSION["produtos"]); $i++) { echo $_SESSION["produtos"][$i] . ","; $produto = $_SESSION["produtos"][$i]; if(array_search($_GET['idproduto'],$produto)){ print 'Já consta.'; } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Agosto 4, 2008 Nada tbm fica tudo em branco Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Agosto 4, 2008 tente criando outro array assim: <?php for ($i = 0; $i < count($_SESSION["produtos"]); $i++) { echo $_SESSION["produtos"][$i] . ","; $produto =array($_SESSION["produtos"][$i]); if(array_search($_GET['idproduto'],$produto)){ print 'Já consta.'; } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Agosto 4, 2008 Puts nem assim vai.. Tentei colocar o in_array e nada tb, Página em Branco... Ai eu tentei assim <?php // inicia a sessão session_start(); for ($i = 0; $i < count($_SESSION["produtos"]); $i++) { echo $_SESSION["produtos"][$i] . ","; $produto =array($_SESSION["produtos"][$i]); if(in_array($_GET['tipo'],$produto)){ print 'Já consta.'; } else { $produto = $_SESSION["produtos"][$i]; } } ?> e nada tbm... puts o que estou fazendo de errado?? Estou copiando na integra seu código Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Agosto 4, 2008 Dê um print_r($_GET); depois do session_start() e coloca aqui o que aparece. Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Agosto 4, 2008 Usando esse código <?php // inicia a sessão session_start(); print_r($_GET); for ($i = 0; $i < count($_SESSION["produtos"]); $i++) { echo $_SESSION["produtos"][$i] . ","; $produto =array($_SESSION["produtos"][$i]); if(array_search($_GET['idproduto'],$produto)){ print 'Já consta.'; } } ?> Deu isso daqui Array ( [idproduto] => 1 ) Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Agosto 4, 2008 e na sessão de um echo pra eu ver se tem id mesmo. Compartilhar este post Link para o post Compartilhar em outros sites
Rafael Mussi 0 Denunciar post Postado Agosto 4, 2008 Tenta utilizar essa função pra pesquisar recursivamente em arrays: function procuraArrayRecursivo($needle, $haystack, $strict=false, $path=array()) { if (!is_array($haystack)) { return false; } foreach ($haystack as $key => $val) { if(is_array($val) && $subPath = procuraArrayRecursivo($needle, $val, $strict, $path)) { $path = array_merge($path, array($key), $subPath); return $path; } elseif ((!$strict && $val == $needle) || ($strict && $val === $needle)) { $path[] = $key; return $path; } } return false; } $ids = array(1,2,3,4,5,6,7,8); $produtos = array($ids); $idp = $_GET['idproduto']; if (procuraArrayRecursivo($idp, $produtos)) { print "existe"; } else { print "nao existe"; } Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Agosto 4, 2008 Deu um echo e não me trás nada.. Mesmo eu gravando ele Aqui eu listo todos for ($i = 0; $i < count($_SESSION["produtos"]); $i++) { echo $_SESSION["produtos"][$i] . ","; } Aqui eu acrescentei para gravar .... print 'Já consta.'; } else { $_SESSION["produtos"][] = $_GET['idproduto']; } Nada mesmo Compartilhar este post Link para o post Compartilhar em outros sites