Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
galera seguinte...
eu tenho uma tabela chamada
radchecks(cadastro dos usuarios)
e uma chamada
radreplies(estados do usuario)
eu tenho que verificar os usuarios que estao ativos no sistema
para o usuario estar ativo, ele tem que seguir essas condições
1)radchecks.UserName deve estar cadastrado
2)radchecks.UserName pode ter um estado na tabela radreplies.Attribute, que pode ser IP ou Estar Bloqueado.
3)para ele estar bloqueado:
radchecks.UserName deve ser igual a radreplies.UserName, se eles sao iguais
ele verifica se radreplies.Attribute é igual a 'poolnegado'
se for.. o cara ta bloqueado.
mas, eu quero selecionar apenas os ativos .. e preciso fazer via mysql
alguem poderia me ajudar?
segue o código que eu fiz.
>
"SELECT * FROM radchecks
LEFT JOIN radreplies
ON radreplies.UserName=radchecks.UserName
AND radreplies.Empresa=radchecks.Empresa
WHERE radchecks.Empresa='$empresa_escolhida'
AND radreplies.Attribute<>'Framed-Pool'
lembrando que ele tem q ignorar os bloqueados e somente mostrar os ativos
nao ajudou mto, nao axei nada sobre o join
tentei de várias formas, mas não consegui
>
SELECT *
FROM radchecks
JOIN radreplies
ON radchecks.UserName = radreplies.UserName OR radreplies.UserName=null
WHERE radreplies.Value<>'pool_acessonegado' OR radreplies.Value=null
"SELECT radcheck.id, radcheck.UserName, radcheck.Attribute,
radcheck.Value FROM radcheck inner join
radreply on radcheck.username=radreply.username WHERE radreply.Username =
'%{SQL-User-Name}' and radreply.Attribute='session-timeout
' and radreply.Value>0 ORDER BY radcheck.id"
Ajuda?
>
"SELECT radcheck.id, radcheck.UserName, radcheck.Attribute,
radcheck.Value FROM radcheck inner join
radreply on radcheck.username=radreply.username WHERE radreply.Username =
'%{SQL-User-Name}' and radreply.Attribute='session-timeout
' and radreply.Value>0 ORDER BY radcheck.id"
Ajuda?
ajuda sim,
vou tentar te explicar como funciona...
a tabela radchecks sao cadastros de usuarios,
a tabela radreplies sao estados do usuario.
o que liga as tabelas é o campo UserName.
eu preciso ver o seguinte, mostrar os usuarios que nao estao bloqueados...
para o cara estar bloqueado
ele deve ter um registro na tabela radreplies onde o campo Attribute='Framed-Pool'
se possui esse registro ele está bloqueado, mas...
na mesma tabela o cliente pode ter outros estados como IP e rota...
entao..
para o cara estar liberado
ele pode nao ter nenhum registro na radreplies ou ter estados como ip e rota
para estar bloqueado deve ter o registro de framed-pool na radreplies
esse codigo que fiz no mysql deveria funcionar
>
SELECT * FROM radchecks //seleciona cadastro de clientes
JOIN radreplies //adiciona estados de cliente
ON radchecks.UserName = radreplies.UserName OR radreplies.UserName='' //o nome de usuario pode ser igual nas 2 tabelas ou a tabela pode nao ter o registro do usuario,
WHERE radreplies.Attribute<>'Framed-Pool' OR radreplies.Attribute='' //verifica se //verifica se o atributo é framed-pool ou a tabela nao pode ter o registro, entao o cara ta liberado
GROUP BY radchecks.UserName
http://under-linux.org/f112329-php-mysql-select-radreply
Espero que ajude :)