Foros del Web » Programando para Internet » PHP »

Folios Duplicados PHP Mysql

Estas en el tema de Folios Duplicados PHP Mysql en el foro de PHP en Foros del Web. Buenas tardes. Disculpen tengo un problema con unos folios que estoy registrando atraves de php con mysql y se estan duplicando no se si me ...
  #1 (permalink)  
Antiguo 08/02/2011, 13:50
 
Fecha de Ingreso: febrero-2011
Mensajes: 7
Antigüedad: 13 años, 2 meses
Puntos: 0
Folios Duplicados PHP Mysql

Buenas tardes.

Disculpen tengo un problema con unos folios que estoy registrando atraves de php con mysql y se estan duplicando no se si me puedan ayudar.

El ultimo metodo que estoy usando es crear una tabla por cada sucursal e insertar en la tabla de la sucursal un valor para obtener el folio autonumerico en el que va esa sucursal y registrar todo lo que sigue con el mismo folio pero no funciona
aun asi me repite los folios

por ejemplo

zzz_suc_MZT
id autonumerico
valor char(2)

zzz_suc_CLN
id autonumerico
valor char(2)


Código PHP:
Codigo
$s 
"select prefijo from catalogosucursal where id = '$_SESSION[IDSUCURSAL]'";
$r mysql_query($s,$link) or die($s);
$f mysql_fetch_object($r);
            
$s 'INSERT INTO suc_'.$f->prefijo.' VALUES (null,"II")';
mysql_query($s,$link) or die($s);
$nuevofolio mysql_insert_id($link);

$s "INSERT INTO evaluacionmercancia SET
folio = $nuevofolio,
fechaevaluacion = current_date,
estado = 'GUARDADO', 
sucursal = $_SESSION[IDSUCURSAL]"
;
mysql_query($s,$link) or die($s); 
la tabla evaluacionmercancia tiene su propio id pero como ese es general no me sirve.

la otra forma que habia usado fue crear una funcion de mysql para obtener el folio de evaluacion maximo + 1 pero da la misma ...

Espero puedan ayudarme, de antemano muchas gracias, por cierto es mi primer post
  #2 (permalink)  
Antiguo 08/02/2011, 14:03
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Folios Duplicados PHP Mysql

Si tienes diferentes tablas con un campo autoincrementado, es normal que un valor coincida con el de otra tabla... o no entendí bien lo que quieres hacer. ¿Por qué no lo concentras todo en una y simplemente agregas el campo sucursal para distingir los registros?
  #3 (permalink)  
Antiguo 08/02/2011, 14:09
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 2 meses
Puntos: 128
Respuesta: Folios Duplicados PHP Mysql

???? y pq no obtienes el valor del id con un select???
  #4 (permalink)  
Antiguo 08/02/2011, 14:10
 
Fecha de Ingreso: febrero-2011
Mensajes: 7
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Folios Duplicados PHP Mysql

Es que asi me lo pidieron,

por ejemplo
MZT 1
MZT 2
MZT 3

CLN 1
CLN 2

de esa forma tienen que ir saliendo los folios si puede haber un 2 en la sucursal mzt y un 2 en la cln pero aveces sale dos veces el 2 en mzt por eso intente recurrir a los autonumericos para que automaticamente melo generara sin duplicarse
  #5 (permalink)  
Antiguo 08/02/2011, 14:12
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 14 años, 5 meses
Puntos: 25
Respuesta: Folios Duplicados PHP Mysql

creo que lo tienes mas el ultimo insert almejor querras update??
  #6 (permalink)  
Antiguo 08/02/2011, 14:47
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Folios Duplicados PHP Mysql

Si son autonuméricos, no deben poder duplicarse parea una misma tabla.

Ahora bien, si entendí, tienes una tabla por sucursal, y otra general donde almacenas registros relacionados con las tablas de sucursales a través del id.

Si entendí bien el problema es que quieres que la tabla general tenga registros con el mismo id que las tablas de sucursales. Esto no es correcto. La tabla general debe tener su propio folio autonumérico, y se puede relacionar con las otras tablas, pero entonces necesitas además un identificador de la tabla de origen.

De otra forma creo que sería mejor que explicaras mejor qué quieres hacer, con un ejemplo concreto.
  #7 (permalink)  
Antiguo 08/02/2011, 17:11
 
Fecha de Ingreso: febrero-2011
Mensajes: 7
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Folios Duplicados PHP Mysql

es un insert con el folio consecutivo, osea que lo que me pidieron es algo asi

evaluacionmercancia
id autonumerico (este es el id general)
folio (este es el id que tiene que ser autonumerico pero por sucursal)
sucursal (esta es la sucursal)

como no se pueden usar dos autonumericos en una misma tabla y uno de ellos con condiciones, bueno eso creo yo, se me ocurrio hacerlo de esa manera, crear tablas por sucursales unicamente para manejar los autonumericos, insertar en la tabla de la sucursal y que me devuelva el autonumerico que voy a insertar en la tabla evaluacionmercancia.

pero por alguna extraña razon se siguen repitiendo :s, tengo entendido que en el SQL se puede hacer un block a las tablas no se si sirva para que solo se pueda leer en un procedimiento y hasta que termine este lo use el procedimiento que sigue. en mysql habrá algo parecido? o alguien me podria decir otra forma de llevar los folios asi, pero sin que se repitan
  #8 (permalink)  
Antiguo 08/02/2011, 19:26
 
Fecha de Ingreso: febrero-2011
Mensajes: 7
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Folios Duplicados PHP Mysql

Cita:
Iniciado por ocp001a Ver Mensaje
Si son autonuméricos, no deben poder duplicarse parea una misma tabla.

Ahora bien, si entendí, tienes una tabla por sucursal, y otra general donde almacenas registros relacionados con las tablas de sucursales a través del id.

Si entendí bien el problema es que quieres que la tabla general tenga registros con el mismo id que las tablas de sucursales. Esto no es correcto. La tabla general debe tener su propio folio autonumérico, y se puede relacionar con las otras tablas, pero entonces necesitas además un identificador de la tabla de origen.

De otra forma creo que sería mejor que explicaras mejor qué quieres hacer, con un ejemplo concreto.
A ver si mas o menos asi, soy malisimo para explicarme

Por ejemplo son dos sucursales:
id, nombre
1 MZT
2 CLN


en evaluacionmercancia se van a insertar de las dos sucursales; evaluacion mercancia contendria lo siguiente
evaluacionmercancia
id, folioporsucursal, sucursal
1, 1, 1
2, 2, 1
3, 1, 2
4, 3, 1
5, 2, 2

el problema lo tengo en el folio por sucursal, asi como estan es correcto pero
aveces me salen asi:

evaluacionmercancia
id, folioporsucursal, sucursal
1, 1, 1
2, 2, 1
3, 1, 2
4, 2, 1
5, 2, 2

Casualmente es cuando dos usuarios registran al mismo tiempo
  #9 (permalink)  
Antiguo 08/02/2011, 19:30
 
Fecha de Ingreso: febrero-2011
Mensajes: 7
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Folios Duplicados PHP Mysql

Cita:
Iniciado por arros Ver Mensaje
creo que lo tienes mas el ultimo insert almejor querras update??
Es que en la forma con la que estoy probando, estoy haciendo un insert en una tabla que cree para cada sucursal para que con la funcion mysql_insert_id me devuelva el id insertado en esa tabla y ese id poder agarrarlo como el folio de la sucursal e insertarlo en la evaluacion.
  #10 (permalink)  
Antiguo 08/02/2011, 19:32
 
Fecha de Ingreso: febrero-2011
Mensajes: 7
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Folios Duplicados PHP Mysql

Cita:
Iniciado por bUllan9ebrio Ver Mensaje
???? y pq no obtienes el valor del id con un select???
Asi le hacia antes, hacia una consulta

Código PHP:
$s "select max(folio)+1 from evaluacionmercancia where sucursal = $_SESSION[IDSUCURSAL]"
pero si dos usuarios envian al mismo tiempo, me guardaba dos veces el mismo numero para la misma sucursal, me duplicaba el folio.
  #11 (permalink)  
Antiguo 08/02/2011, 19:34
 
Fecha de Ingreso: febrero-2011
Mensajes: 7
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Folios Duplicados PHP Mysql

Cita:
Iniciado por ocp001a Ver Mensaje
Si tienes diferentes tablas con un campo autoincrementado, es normal que un valor coincida con el de otra tabla... o no entendí bien lo que quieres hacer. ¿Por qué no lo concentras todo en una y simplemente agregas el campo sucursal para distingir los registros?
A es que si pueden coincidir para diferentes sucursales por ejemplo
el folio 2 para la sucursal mzt y el folio 2 para la sucursal cln, pero aveces me salia dos veces el folio 2 para mzt.

Etiquetas: duplicados, mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:55.