Foros del Web » Programando para Internet » PHP »

Incrementar

Estas en el tema de Incrementar en el foro de PHP en Foros del Web. Hola a todos :) Tengo tres tablas TB_Caja (historial de las cajas abiertas) id-caja-folioinico-fecha TB_Pagos (historial pagos realizados) id-concepto-monto-caja-folio TB_folioenuso (folio que ya se utilizaron ...
  #1 (permalink)  
Antiguo 05/03/2015, 17:08
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Incrementar

Hola a todos :)
Tengo tres tablas
TB_Caja (historial de las cajas abiertas)
id-caja-folioinico-fecha

TB_Pagos (historial pagos realizados)
id-concepto-monto-caja-folio

TB_folioenuso (folio que ya se utilizaron en pagos)
id-caja-folio-fecha

Lo primero que hago es abrir una caja compruebo que el folio de inico (ingresado por el cliente) no exista en TB_Pagos
ejemplo: $folioinicio=500

$contar =("SELECT * FROM TB_Pagos WHERE folio=$folioinicio and caje=$caja");

$res = mysql_query($contar) or die(mysql_error());


if (mysql_num_rows($res)>0)
{
echo 'El folio ha sido usado por favor ingrese uno nuevo';


} else {
//Si no existe lo inserto en TB_folioenuso

}



id-folio-fecha
1---500--05-03-2015

Realizo mi cobro el folio a usar sería 500 guardo mi pago en TB_Pagos...

Para realizar un nuevo cobro y ver que folio le correspondería compruebo si el folio de inicio (500) existe en TB_folioenuso
como ya esta insertado 500 sumo 1 y quedaría en 501... hasta acá todo bien

Pero si necesito un nuevo cobro ...
checo si el folio inico (500) existe en TB_folioenuso , en este caso ya existe, no puedo sumar 1 porque ya tengo el 501 (corresponde el 502)...
pero no se me ocurre como continuar incrementendo ...
  #2 (permalink)  
Antiguo 05/03/2015, 17:12
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas
Mensajes: 389
Antigüedad: 13 años, 1 mes
Puntos: 16
Respuesta: Incrementar

usa SELECT LAST_INSERT_ID() INTO tu_tabla. eso debería retornarte el ultimo id existente y a eso le sumas 1.
__________________
Lo imposible es lo posible visto por los ojos de un incapaz.
Si te sirve la respuesta. dale + al karma.
Saludos
  #3 (permalink)  
Antiguo 05/03/2015, 17:14
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Incrementar

Cita:
Iniciado por rjulio21 Ver Mensaje
usa SELECT LAST_INSERT_ID() INTO tu_tabla. eso debería retornarte el ultimo id existente y a eso le sumas 1.
Gracias amigo pero no me sirve ya que no es un id (autoincremental) el campo que necesito aumentar en +1
  #4 (permalink)  
Antiguo 05/03/2015, 17:29
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas
Mensajes: 389
Antigüedad: 13 años, 1 mes
Puntos: 16
Respuesta: Incrementar

No me queda muy clara la cosa, pero en ese caso que consultes por ese campo ordenando en desc para que te traiga el máximo registro tampoco te sirve ? aunque esto es más base de datos.
__________________
Lo imposible es lo posible visto por los ojos de un incapaz.
Si te sirve la respuesta. dale + al karma.
Saludos
  #5 (permalink)  
Antiguo 05/03/2015, 17:51
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Incrementar

lo que no entiendo es como obtener de mi TB_folioenuso
el folio que tiene que ver con el de inicio (500)

Osea si ya tengo en mi tabla
500 y 501 (que es el que aumnete en 1 de mi folio de inicio)

como sacaria el 502...

Como se que de mi folio de inicio 500 ya tengo hasta 501...
  #6 (permalink)  
Antiguo 05/03/2015, 19:30
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Incrementar

Algo asi
SELECT MAX(folio) ultimo FROM TB_folioenuso Where fecha=$hoy and folio TENGA QUE VER CON $folioinico (500)

Es decir como obtengo el valor mas alto de mi tabla pero que se relacione con el folio inicial
  #7 (permalink)  
Antiguo 05/03/2015, 20:20
 
Fecha de Ingreso: febrero-2015
Mensajes: 61
Antigüedad: 9 años, 1 mes
Puntos: 15
Respuesta: Incrementar

Cita:
Iniciado por Briss Ver Mensaje
Algo asi
SELECT MAX(folio) ultimo FROM TB_folioenuso Where fecha=$hoy and folio TENGA QUE VER CON $folioinico (500)

Es decir como obtengo el valor mas alto de mi tabla pero que se relacione con el folio inicial
bastaria con

SELECT MAX(folio) ultimo FROM TB_folioenuso

sin la clausula where

Etiquetas: 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 14:14.