Ir para conteúdo

POWERED BY:

Arquivado

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

dydo.php

[Resolvido] com exibição de Range de IPs

Recommended Posts

Ola a todos http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif;

 

Sou novo aqui no forum e iniciante com PHP tb, esse é meu primeiro post.

 

queria lançar um desafio aos senhores, Seguinte:...

 

Quero fazer um controle de IPs (internet protocol). Para os que não sabem, a mascara de um numero ip é definida da seguinte forma ( XXX.XXX.XXX.XXX ie. 192.168.1.X ou 172.10.134.XXX nesse ultimo caso o XXX seriam algo entre 0 e 255)

 

Do 0 ao 255 é reservado aos clientes, preciso criar uma função q exiba visualmente os ips usados, tipo, aloquei o 10 para um cliente, o 20 para outro então ficaria algo assim:

 

 

1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10

11 12 13 14 15 16 17 18 19 20

21 22 23 24 25 26 27 28 29 30

31 32 34 35 36.........

 

De alguma forma q ele ficasse em evidencia (colorindo o fundo da celula por exemplo, ou ficando em negrito tanto faz) essa função iria percorrer o banco de dados, procurando os ips usados.

 

Eu tentando, ate conseguiria fazer algo parecido, mais meio que gambiarra, e como to querendo aprender pra valer, não vou me admitir fazendo isso...

 

É isso ai pessoal, quem puder me ajudar eu agradeço...

 

to mechendo com PHP a poucos dias, vou postar ate o fim dessa semana uma classe para conexão com banco de dados, q eu to "inventando", e vou pedir mais uma vez a ajuda de todos pra saber em q pontos eu to surtando....

 

valeww

Compartilhar este post


Link para o post
Compartilhar em outros sites

Suponho que você irá guardar os IPs já em uso pelos clientes em um banco de dados, certo?

 

Feito isto, é só listar os possíveis 255 números e na iteração conferir com o que existe no banco de dados. Naturalmente você não vai fazer uma consulta a cada iteração, basta consultar antes e alocar em um vetor para consulta neste vetor.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ahh, saquei... mais veja so, como fariamos pra implementar esse vetor no código abaixo?...

 

 

<? 
echo "<table width=\"50%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
$i = 1;
$teste = 29;
echo "<tr>";
while ($i <= 255) { //enquanto $i for menor ou igual a 255
	if ($i == $teste) {
		$color = '#c0c0c0';}
	else {
		$color = '#ffffff';
						}
						
	  echo "<td align=\"center\" bgcolor=".$color."> " .$i++. " </td>"; // o valor impresso será
	if ($i == 41 || $i == 81 || $i == 121 || $i == 161 || $i == 201 || $i == 241)//quebrando linha...eitaa q deve ter forma mais fácil...
		{ echo "</tr><tr>";}
}
echo "</table>";
?>

pq eu pensei em fazer tipo assim, no tabela do cliente, salvar o numero ip completo tipo 192.168.1.210, mais agora vejo q talves seria mais inteligente assim um campo pra informar a classe a q o cliente pertence (tipo 192.168.1 ou 10.10.1) e outro campo para a terminação (q é aquele valor de 1 a 255 q indica quem é o cliente) dessa forma, acredito que fique mais fácil trabalhar.....

 

sobre a historia do vetor, como eu procederia? pq fazer a busca toda vida percorrendo a tabela ia deixar o sistema super lento...

 

 

 

vlwwww.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php

 

$arr_cli = array();

 

$sql = mysql_query("SELECT * FROM clientes");

while( $rs = mysql_fetch_array($sql) )

{

$arr_cli[] = $rs['numero'];

}

 

for($i = 1; $i <= 255; $i++)

{

if( in_array($i, $arr_cli) )

{

echo '<strong>' . $i . '</strong>';

}

else

{

echo $i;

}

}

 

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, você é um MESTRE ...

 

Ficou mais resumido e mais completo, vou adaptar ele aqui e testas, eu volto dizendo o resultado final.....

 

 

Obrigadão Mesmo Paulo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, você acertou no alvo, saiu como eu esperava, testei agora, vou somente adaptar ele a minha realidade.....

 

Mais uma vez Muito Obrigado.... ta resolvido o assunto! http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

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.