bah 0 Denunciar post Postado Maio 31, 2006 como faz para a pagina php gerar numeros sem repetirvou explicar a situaçãono sistema q estou fazendo, cada produto vai ter um ID, e esse id vai para o catalogoEu até poderia deixar o ID auto-numeração do mysql, mas fica meio estranho no catalogo ID tipo: 1, 2, 3e o cliente pediu para ser 5 digitos, tipo 84512, 78512, algo assim.como faço para o php (ou o mysql) mostrar (no caso do mysql: cadastrar) números aleatórios sem repetir?[]'s Compartilhar este post Link para o post Compartilhar em outros sites
Thompson 0 Denunciar post Postado Maio 31, 2006 bem, pra fazer isso é fácil... basta trabalhar com a função random e fazer um loop. <?function randomNumber($start, $limit, $arrNumber){ //$arrNumbers são os códigos já gerados e que você não quer que se repitam. $randNumber = rand($start, $limit); for( $i=0; $i<count($arrNumber); $i++ ) { if( $arrNumber[$i] == $randNumber ) { $randNumber = rand($start, $limit); $i = 0; //volta pro início para recontar novamente. } } return $randNumber;}?> Com essa função você consegue... não testei isso, então pode ser que haja erros. $randNumber vai ser um número entre $start e $limit, e $arrNumber é um vetor que contém os IDs já cadastrados na sua base e que você não quer que se repitam. Você terá que pegar todos os IDs da base e jogá-los nesse array.. depois, passe o array como parâmetro. O retorno da função será o novo ID diferente de todos os outros que você já criou. Agora, cá entre nós... qualé a do seu cliente?? quantos produtos ele tem? que mal há em ter um produto com id 1, 01 ou 00001? ´Não entendi qual é a dele... pela lógica, o id número 1 de um produto é 1 pq ele foi o primeiro a ir pra prateleira... o segundo produto terá id 2, o terceiro 3, etc... Mas enfim, cada cliente com suas manias estranhas hehe A solução em SQL eu não sei, mas creio que dá pra gerar esse número diferente de todos os ids já cadastrados em SQL mesmo... mas em php tá aí. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Maio 31, 2006 Olha a ideia é você criar uma rega para catalocar e nao chutar um numero aleatorio, dai na hora de cadastrar o sistema pode falar esse codigo ja foi cadastrado , nao tem sentido gerar um codigo aleatorio, só se for para fazer algo simples que nao seja serio relativo ao assunto de gerar um numero que nunca se repete: http://br2.php.net/manual/pt_BR/function.uniqid.php Compartilhar este post Link para o post Compartilhar em outros sites
bah 0 Denunciar post Postado Maio 31, 2006 opa, muito obrigado thompsonconcordo que é pura frescura o cliente querer 5 números. Deve ser para parecer empresa grande e fingir que tem bastante produto xDmas como eu sabia q não era algo impossível eu falei tudo bem...valew a ajuda ae thompson..precisando tamo aí![]'svalew fabyo...agora que vivou conversar com elaabraços Compartilhar este post Link para o post Compartilhar em outros sites