Ver Mensaje Individual
  #9 (permalink)  
Antiguo 28/01/2010, 11:07
Perrin_1
 
Fecha de Ingreso: marzo-2009
Mensajes: 163
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: sugerencia para crear id en php

que tal, mira si le hice como me comentaste de que el digito sea numerico y se incremente cada vez que se genera un nuevo folio y que cada dia que pase se reinicie en 0 pero tengo un problema, el id que lo guardo en una tabla para llevar control de eso mi tabla se llama "control_folio" que se compone pues de su llave primaria y el campo "digito" que es el ultimo de mi mascara de entrada donde se guarda cada vez que se guarda un folio para asi obtener cual fue mi ultimo e incrementarlo de esta manera

Código PHP:
$dig "SELECT * FROM control_folio ORDER BY digito DESC LIMIT 1 , 1";
    
$dig1=mysql_query($dig) or die("Error al buscar el digito de folio: ".mysql_error());
    while(
$dig2 mysql_fetch_array($dig1))
    {
        
$digito $dig2['digito'];
        
$digito $digito 1;
    } 
donde ahi se incrementa y donde hago la comparacion para que si es un dia nuevo se reinicie en 0, toma la fecha anterior y compara si es menor a la de hoy reinicia la variable en 1

Código PHP:
if($digito == 0)
        
$digito 1;
        
    
$dia explode(" ",$dia,2);
    
$dia $dia[0];
    
    
$fecha_actual=date("Y-m-d");
    if(
$dia $fecha_actual)
    {
        echo 
"entro".$dia;
        
$digito 1;
    } 
una vez finalizado esto lo que hace concatena todo en el numero de folio de esta manera

Código PHP:
if($digito 10)
    {
        
$digito "0".$digito;//inserta un 0 si el digito es menor a 9
    
}

    
$insertar "INSERT INTO control_folio (id,digito) values ('','".$digito."')";//inserta el digito en la tabla para el control
    
$insertar1=mysql_query($insertar)or die("Error al insertar digito de folio: ".mysql_error());
    
$num_reservacion=$dd.$mm.$yy.$digito
DONDE EL PROBLEMA QUE SE ME PRESENTA ES QUE HASTA QUE SE INSERTE 2 VECES UN REGISTRO AUMENTA DE VALOR EL FOLIO MAS APARTE SI LA VARIABLE SE REINICIA EN 01, SI LO INSERTA ESE REGISTRO PERO PARA EL SIGUIENTE REGISTRO TOMA EL VALOR ANTERIOR DE 01, LO RETOMA Y LO INCREMENTA