Ir para conteúdo

Arquivado

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

fabfernandes

-me sql

Recommended Posts

migos,Tenho uma tabela num banco mysql que tem um campo ip varchar(15), exemplo:10.20.30.123103.20.40.1101.20.50.6310.20.60.454Estou precisando fazer um select que me retorne apenas a rede, exemplo:10.20.30.0103.20.40.0101.20.50.010.20.60.0Como eu faço ?!?!?!Não estou conseguindo desenrolar.... favor me ajudem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se é possível fazer direto pelo mysql, então essa foi a primeira opção que me veio na cabeça:

 

   $ip="103.20.40.1";    $aux=strpos($ip, "."); //retorna a posição do primeiro ponto    $aux=substr($ip, 0, $aux); //pega valor de $ip até primeiro ponto    echo $aux;

Neste exemplo seu $aux será igual a 103, se você mudar para 10.0.0.240, $aux será igual a 10.

 

Agora use $aux em sua select.

 

Espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas o que eu preciso é do valor até o terceiro ponto.nesse caso, teria que pegar o 103.20.40 e acrescentar o .0ficando 103.20.40.0Parece simples, mas ainda nao consegui fazer. :~/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vê lá agora:

 

<?    $ip= "103.20.40.1"; //faz um teste com outros    echo "$ip<br>";    $tam=strlen($ip);    $aux=strlen($ip);    while((substr($ip, $aux, 1))!=".")    {      $aux--;    }    $novastr=substr($ip, 0, $aux).".0";    echo "Nova: $novastr";?>

Espero que agora dê certo... senão posta aí.

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.