Foros del Web » Programando para Internet » PHP »

Aplicación web.... ¿con sesiones?

Estas en el tema de Aplicación web.... ¿con sesiones? en el foro de PHP en Foros del Web. Hola a todos, les escribo porque necesito si me pueden asesorar... Resulta que hice un sitio web con productos y un panel de control web ...
  #1 (permalink)  
Antiguo 29/05/2011, 18:31
 
Fecha de Ingreso: octubre-2009
Mensajes: 107
Antigüedad: 14 años, 6 meses
Puntos: 2
Aplicación web.... ¿con sesiones?

Hola a todos, les escribo porque necesito si me pueden asesorar... Resulta que hice un sitio web con productos y un panel de control web que maneja dichos productos (ABM, entre otras opciones). Todo hecho en PHP y MySQL.

El tema es que el comercio que utiliza esto, tiene una casa central y una sucursal. Lo que yo pienso que se puede llegar a dar es la situación que, al mismísimo tiempo, de los dos lugares quieran agregar un producto (supongamos caso extremo que sea justo en el mismo momento exacto). Al agregar un producto, se le pide la imagen del mismo con un nombre determinado (que es el id único de dicho producto) . Qué pasa si de los dos lugares quieren cargar un producto al mismo tiempo? A los dos les va a mostrar el mismo id y se pisarán, no?

Por lo que estuve pensando, cuál podría ser una solución para controlar que no se pisen los id's de los productos. A alguien se le ocurre? yo pensé en sesiones pero no se nada sobre ellas, estoy por ponerme a ver, pero antes me gustaría si me indican si voy por buen camino o si alguien tiene un material sencillito para empezar con este tema.

Saludos y muchas gracias desde ya!! Espero se haya entendido.
  #2 (permalink)  
Antiguo 29/05/2011, 19:12
marcofbb
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Aplicación web.... ¿con sesiones?

Podes hacer que haga una verificación antes de agregar el producto, viste las paginas de cine ? podes comprar las entradas online bueno que pasa si alguien justo elije tu butaca en el mismo momento quien se queda con las butacas ?, bueno para que no ocurra esto hace como te dije yo antes de agregar a la base de datos busca de nuevo si ya esta agregado

No hace falta utilizar sessiones ni nada por el estilo.

Saludos
  #3 (permalink)  
Antiguo 30/05/2011, 20:09
 
Fecha de Ingreso: octubre-2009
Mensajes: 107
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: Aplicación web.... ¿con sesiones?

Cita:
Iniciado por marcofbb Ver Mensaje
Podes hacer que haga una verificación antes de agregar el producto, viste las paginas de cine ? podes comprar las entradas online bueno que pasa si alguien justo elije tu butaca en el mismo momento quien se queda con las butacas ?, bueno para que no ocurra esto hace como te dije yo antes de agregar a la base de datos busca de nuevo si ya esta agregado

No hace falta utilizar sessiones ni nada por el estilo.

Saludos
Muchas gracias!! Creería que con eso no voy a tener ningún problema!!
Todavía no pude probarlo, pero es muy buena la idea y seguro que me sirve.
Gracias nuevamente!!!
  #4 (permalink)  
Antiguo 30/05/2011, 20:38
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Aplicación web.... ¿con sesiones?

Hola,

Cita:
Iniciado por potoka Ver Mensaje
... Qué pasa si de los dos lugares quieren cargar un producto al mismo tiempo? A los dos les va a mostrar el mismo id y se pisarán, no? ...
Eso es un tema de concurrencia y así como podría suceder en dos tiendas con una terminal cada una podría suceder en una sola con dos terminales. Por eso tu tabla tiene que tener un campo único de índice primario. Si dos personas intentan guardar la misma información al mismo tiempo en ese campo indexado la base de datos no lo va a permitir por el índice único.

Sin esa llave primaria o índice único entonces se complica un poco porque tendrías que hacerlo transaccional con bloqueos, simplemente buscando si ya existe no es suficiente, por ejemplo, un caso hipotético, una serie operaciones consecutivamente:

1. El usuario A busca si existe el producto 8. (Y no existe).
2. El usuario B busca si existe el producto 8. (Y no existe).
3. El usuario A inserta el producto 8.
4. El usuario B inserta el producto 8.

Problema de concurrencia; pero si hay un indice único la base de datos va a generar un error al usuario B cuando intente insertar el 8. Pero es un caso hipotético, dependiendo del diseño de tu aplicación posiblemente no necesitas preocuparte a ese nivel de detalle.

Saludos,

Etiquetas: sesiones
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 01:04.