Ir para conteúdo

POWERED BY:

Arquivado

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

Elton Ésqui

[Resolvido] Array, for, while ou algo parecido

Recommended Posts

Amigos

 

Preciso colocar um range como opção de ID.

 

Exemplo.

Uso assim:

$acesso_lib = "1,2,3";

Onde os ID's 1, 2 e 3 conseguem acessar essa página.

Preciso definir isso num range.

Ex.:

foreach (range(1, 3) as $acesso_inf) {
$acesso_lib = $acesso_inf;
}

Onde todos de 1 a 3 terão acesso.

Esse segundo código é o mais perto que consegui chegar, mas não funciona.

Parece que precisa estar entre aspas.

 

Help

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo Elton sua lógica está errada.

 

Se você quer que todos do range acessem e quer

verificar se o usuário está no range você tem que

trabalhar com o array e não com loop.

 

Ex:

 

$acesso_lib = range(1, 3);
if (in_array($_POST['acesso'],$acesso_lib)) {
   // seu código
}

Dúvidas sobre in_array() acesse http://www.php.net/in_array

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que não está funcionando?

 

Se eu deixar assim funciona, pq estou informando todos os ID's que podem acessar:

$acesso_lib = "1,2,3,4,5,6,7,8,9,10";

Neste caso, os ID's de 1 a 10 acessam sem problema.

Mas preciso informar um núemro maior, pois na medidade que novos usuários forem cadastrados, os ID's serão maiores.

Exemplo, se cadastrar um novo usuário com o ID 11, ele não acessará, pois só tem de 1 a 10.

E pra não fazer de 1 a 9999999 nesse esquema, preciso usar o array.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é mais fácil fazer um SELECT no banco de dados e trazer todos os ID's num array?

Se o controle tem de ser a cada cadastro de usuário .....

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é mais fácil fazer um SELECT no banco de dados e trazer todos os ID's num array?

Se o controle tem de ser a cada cadastro de usuário .....

 

Abraços.

 

Como assim?

 

Tipo criar um campo id_liberados e dentro dele colocar o range (1,2,3,4,5...99999)?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Criar campo?????

Você já não tem um campo id (autoincrement) na tabela de usuários?

É só trazer ele com fetch_array.

 

Pela lógica se você tem 10 cadastro de usuários você já terá os id's do 1 a 10 não?

Não entendi a necessidade de fazer denovo algo que você já tem no banco. :huh:

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Criar campo?????

Você já não tem um campo id (autoincrement) na tabela de usuários?

É só trazer ele com fetch_array.

 

Pela lógica se você tem 10 cadastro de usuários você já terá os id's do 1 a 10 não?

Não entendi a necessidade de fazer denovo algo que você já tem no banco. :huh:

 

Abraços.

 

 

Putz...é mesmo!

 

Valeu

 

Ficou assim:

 

$acesso_lib = mysql_query("SELECT id FROM usuarios");
while ($row = mysql_fetch_array($acesso_lib, MYSQL_NUM)) {
   print_r("%s,", $row[0]);
}

$usuarios_autorizados = mysql_free_result($acesso_lib);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caramba...achei q tinha dado certo, mas não rolou.

 

Fato:

 

Como fazer para q a variável $usuarios_liberados leia:

SELECT id FROM usuarios

 

Seria algo como:

$usuarios_liberados = "1,2,3,4,5,6,7,8,9,10"

$usuarios_liberados = "SELECT id FROM usuarios"

 

Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Leia o manual do PHP. Ele ajuda bastante.

 

http://www..php.net/implode

http://www.php.net/mysql_fetch_row

 

$ids = array();
$acesso_lib = mysql_query("SELECT id FROM usuarios");

while ($row = mysql_fetch_row($acesso_lib)) {
    $ids[] = $row[0];
}

$usuarios_autorizados = implode(',',$ids);

Aconselho você a estudar mais PHP e procurar tutorias

no google, bem como cursos que também temos no fórum.

 

É fundamental saber oque está fazendo antes de desenvolver uma aplicação. ;)

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Foooooiiii

 

Valeu Periscuelo.

Pode ter certeza que eu já tinha feito tudo isso...ler o manual, pesquisar no Google...mas como ainda estou estudando a parada, não conseguia concluir isso.

 

Valeu pela ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então está na hora de reavaliar suas formas de leitura e pesquisa amigo Elton.

Oque eu postei para você é o basico do basico e eu tenho certeza que existem milhares

de conteúdos iguais e que explicam muito bem como as coisas funcionam.

 

Não ter o conhecimento pleno de como as coisas funcionam não justifica. O manual está em

português e dicas e tutoriais não faltam.

 

Fica aqui minha dica para você. Reavalie sua forma de pesquisa e leia o manual com mais

carinho. Se fizer isso vai ver que você encontra facilmente a solução para coisas simples

como a dúvida que você tinha. Desenvolver as coisas sem saber como, é complicado. O primeiro

passo é entender como funciona e depois desenvolver. Não o contrário.

 

Fico feliz que tenha ajudado. ^_^

Boa Sorte com os estudos.

 

Abraços.

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.