tubadc 0 Denunciar post Postado Março 5, 2008 seguinte tenho a seguinte função... <? function aleatorio(){ $novo_valor= ""; $valor = "0123456789"; srand((double)microtime()*1000000); for ($i=0; $i<10; $i++){ $novo_valor.= $valor[rand()%strlen($valor)]; } return $novo_valor; } ?> ai consulto no banco o numero para ver se existe se existe cria outro se naum existe grava, ai to fazendo assim.... include("includes/funcao.aleatorio.php"); $numpedido=aleatorio(); $sqlnum=mysql_query("SELECT numpedido FROM pedidos WHERE numpedido='$numpedido'") or die (mysql_error()); $rows=mysql_num_rows($sqlnum); if($rows >= 1) { $numpedido=aleatorio(); } else { $inssql=mysql_query("INSERT INTO pedidos (numpedido, idusergri, sessao, pagamento, total, endereco, frete, data, status, rastreio) VALUES ('$numpedido','$iduser','".session_id()."','$pagamento','$total','$idend', '$frete', now(), 1, '')") or die (mysql_error()); } o problema é preciso de um novo loop que fique sempre verificando se existe no else... pois se no else ele criar outro e esse outro existir naum adiantou nada dai... sakaram.... Vlw !!! abs Compartilhar este post Link para o post Compartilhar em outros sites
Alexandre_Lopes 0 Denunciar post Postado Março 5, 2008 E aew tuba... Tubo bem com você... Tenta dessa maneria: Em vez de você fazer a pesquisa fora da função se existe um número aleatório já cadastrado no Banco, faça a pesquisa dentro da própria função... Tipo: function NAleatrio() { // Gera um Número único // $GNumero = Gera Número $GNumero= substr(md5(uniqid(time())), 0, 10); // $RNumero = Retorna Número $RNumero = $GNumero; // Verifica se o número já existe, caso positivo, chama essa função novamente $Sql = mysql_query("SELECT * FROM pedidos WHERE numPedido = '$RNumero'"); $Verifica = mysql_num_rows($Sql); if($Verifica) { $RNumero = NAleatrio(); } // Retorna o Número Aleatório único... return $RNumero; }Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
walterwac 0 Denunciar post Postado Dezembro 7, 2013 Olá Alexandre_Lopes seguindo seu raciocínio onde neste código é inserido a instrução de insert? Compartilhar este post Link para o post Compartilhar em outros sites