Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 396
Nome: João Paulo
Descrição do site: Site de Ofertas de Produtos da cidade
Sexo: Masculino
Localização: Bahia Luis Eduardo Magalhães

Gerador de Login

27-12-2012 12:28

Presiso de um codigo que gere login?
tipo tenho 3 letras que tem que ficar a frente do login "SGE"
no caso teria que ficar assim SGE0000001

ai quando for cadastra ele verifica o ultimo cadastrado e coloca o proximo numero no caso o proximo seria SGE0000002
quando o numero for ficando maior ele vai diminuindo os zero tipo ali tem seis 0 ai quando chega na casa do numero 10
ficaria assim SGE0000010 ai vai fica restando cinco 0 e assim por diante


Se puder me ajudar agradeço desde ja!
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17680
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Gerador de Login

27-12-2012 14:37

Fiz uma base, ai é só você fazer a consulta para obter o último id

<?php // número do último id, ai soma mais 1 $numero = 10; // base para somar os 0 $base = ""; // for para gerar os zeros for($i = 0; $i < 7-strlen($numero); $i++) { $base.="0"; } // mostrando a sequência echo "SEG".$base.$numero; ?>

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 396
Nome: João Paulo
Descrição do site: Site de Ofertas de Produtos da cidade
Sexo: Masculino
Localização: Bahia Luis Eduardo Magalhães

Gerador de Login

27-12-2012 14:50

so que nao esta somando ?
no caso ali numero de´pois e so subistituir pelo dado vindo do BD ne?

se ali como ta 10 oque ele deveria mostra seria 11?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17680
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Gerador de Login

27-12-2012 16:10

É só pegar a variável que vem com o número, e somar +1

$numero = $variavel_do_bd+1;
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 396
Nome: João Paulo
Descrição do site: Site de Ofertas de Produtos da cidade
Sexo: Masculino
Localização: Bahia Luis Eduardo Magalhães

Gerador de Login

27-12-2012 21:46

mas se o ultimo numero do banco vai vir assim sge0000001

se eu por u $numero como valor 10 500 1000 qualquer um e colocar +1 ele funciona agora se eu por 0001 00005 ou qualquer outro +1 ele diminui ao enves de somar so que ainda tem 1 porem tem as letras agora se a variavel for seg0000001 ele nao soma noa faz nd pq a ultima cadastrada sera a sge0000001 entao eu posso por $numero = sge0000001+1; posso por $numero = "sge0000001"+1;
que igual da erro tem que ter uma função para retirar os zeros e as letras e deixa somente o ultimo numero para fazer a soma e depois add.

testa ele ai para voce ver!
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17680
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Gerador de Login

27-12-2012 22:05

Entendi o que quer dizer. Tem uma função que achei no site PHP Manual que deve servir.

Essa função vai pegar sge0000001 e obter o valor inteiro, no caso 1. Pode ser qualquer número inteiro, de acordo com a regra que você informou que vai seguir.

Nesse caso, indico a função para que você pegue o valor salvo no bd, passe por essa função, pegue o valor inteiro, passe pela outra função, que irá formatar, some 1, e salve no bd novamente. Segue a função com um exemplo.

<?php function str2int($string, $concat = true) { $length = strlen($string); for ($i = 0, $int = '', $concat_flag = true; $i < $length; $i++) { if (is_numeric($string[$i]) && $concat_flag) { $int .= $string[$i]; } elseif(!$concat && $concat_flag && strlen($int) > 0) { $concat_flag = false; } } return (int) $int; } echo str2int('sge000000120'); ?>

Fonte: http://php.net/manual/en/function.intval.php
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 396
Nome: João Paulo
Descrição do site: Site de Ofertas de Produtos da cidade
Sexo: Masculino
Localização: Bahia Luis Eduardo Magalhães

Gerador de Login

27-12-2012 22:22

isso mesmo, Porntinho funcionando vou deixa aqui o codigo montado funcionando se nao existir nenhum dados no banco ele cria como primeiro o sge0000001
e depois disso assim por diante 2 3 4 5 6 muito Obrigado segue o Codigo:


function FuncNum($string, $concat = true) { $length = strlen($string); for ($i = 0, $int = '', $concat_flag = true; $i < $length; $i++) { if(is_numeric($string[$i]) && $concat_flag) { $int .= $string[$i]; } elseif(!$concat && $concat_flag && strlen($int) > 0) { $concat_flag = false; } } return (int) $int; } $select = mysql_query("SELECT * FROM cad_log ORDER BY log_usu DESC LIMIT 1"); while($sel = mysql_fetch_array($select)){ $usu_num = $sel['log_usu']; } $codigo_num = @FuncNum($usu_num); $numero_base = $codigo_num+1; $base = ""; for($i = 0; $i < 7-strlen($numero_base); $i++) { $base.="0"; } $usu_fin = "sge".$base.$numero_base; echo $usu_fin;


OBRIGADO ;)
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17680
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Gerador de Login

27-12-2012 22:51

;)
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado