tengo el siguiente codigo para generarlos:
Código PHP:
<?php
include('conexionmacro.php');
$link=Conectarse();
function genera_password($longitud,$tipo="alfanumerico"){
if ($tipo=="numerico"){
$exp_reg="[^0-9]";
}
return substr(eregi_replace($exp_reg, "", md5(rand())) .
eregi_replace($exp_reg, "", md5(rand())) .
eregi_replace($exp_reg, "", md5(rand())),
0, $longitud);
}
do{
$Xgiro = genera_password(4,"numerico");
$aux = $Xgiro;
$Rsngiro1 = mysql_query("select ngiro from giros",$link);
}while(mysql_fetch_array($Rsngiro1)!=$aux);
$giro = $aux;
$RScountcliente = mysql_query("select id_cliente from clientes where id_cliente='$acceso2'",$link);
$fila = mysql_fetch_array($RScountcliente);
mysql_free_result($RScountcliente);
$Xidcli = $fila[0];
$RSinsertcliente = mysql_query("insert into giros values ('$Xidcli','$acceso1','$acceso2','$monto_envio','$cuenta','$observacion','$fecha','$giro','$tipom','$estado','','$tcambio')",$link);
mysql_close($link);
?>
<script>
function Cargar(){
var ng = parseInt(document.frm_datos.giro.value);
alert('Nº de Giro: '+ ng );
document.frm_datos.action="giros_encomiendas.php";
document.frm_datos.submit();
window.open("imprimir.php?giro="+ng,'ventana1','height=700,width=550,resizable=yes,scrollbars=yes');
}
</script>
<body onLoad="Cargar()">
<form action="giros_encomiendas.php" method="post" name="frm_datos">
<input type="hidden" name="txtpais" value="<? echo $txtpais;?>">
<input type="hidden" name="giro" value="<? echo $giro;?>">
</form>
</body>
</html>
Pero hay momentos en que me muestra un numero que no es, es decir solo lo muestra en el alert pero en mi base de datos guarda otro numero. alguien podria saber cual es mi error porfa necesito sus ayudas urgente.
Gracias de antemano.