Foros del Web » Programando para Internet » PHP »

contador

Estas en el tema de contador en el foro de PHP en Foros del Web. holas espero q esten bien saben tengo un problema lo que pasa es que tengo un formulario donde nesesito un contador que se valla generando ...
  #1 (permalink)  
Antiguo 22/12/2005, 00:31
 
Fecha de Ingreso: noviembre-2004
Mensajes: 181
Antigüedad: 19 años, 5 meses
Puntos: 1
Pregunta contador

holas espero q esten bien
saben tengo un problema lo que pasa es que tengo un formulario donde nesesito un contador que se valla generando autometicamente con la cantidad de registros q existen en la bd me explico si existen 40 registros y ingresa otra persona a esa pagina automaticamente se llenara un campo con el numero 41 y no lo ago autonumerico porque nesesito trabajar sobre ese dato como lo puedo hacer please ...
gracias por todo foro y que pacen una feliz nabidad ...
  #2 (permalink)  
Antiguo 22/12/2005, 06:04
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Podrías usar una sentencia SQL tipo "COUNT()" para contar el n° de registro de cierta tabla tipo:
Código PHP:
$sql="SELECT COUNT(*) FROM tabla";
$resultado=mysql_query($sql) or die (mysql_error());
$total=mysql_result($resultado
Ese $total sería los registros que contenga esa tabla en ese instante .. sumale una unidad si lo deseas .. Pero ten presente que en sistemas "cliente-servidor" de este estilo vas a tener en ese momento tal vez otro usuario por otro lado usando ese formulario y tal vez "enviandolo" (generando un nuevo registro) antes de que el otro usuario envie el suyo .. así que ese "n°" no correspondería en absoluto.

Lo ideal no es mostrar ese n° al inicio del "formulario" sino cuando hagas el proceso. O bien "reservar" ese n° al inicio del formulario .. es decir, obtienes ese n° y lo almacenas en algún campo de la misma tabla .. al obtener el n° numero (por otro usuario que inicia el formulario) tendrías que verificar si no está "reservado" por otro "formulario" que se activó un poco antes de que el primero terminase y generase su registro correspondiente. También se podría tratar el tema como una "transacción" .. bloqueando la tabla que va a realizar el ingreso de ese registro por médio de un formulario HTML .. bloqueando todo hasta que no termine .. Esto por supuesto es una solución muy radical y depende mucho de como tenga que funciona tu sistema o el objetivo de ese 1n° en función de los datos que realmente yu tienes en tu BD.

Tal vez .. si explicas mejor el fin u objetivo de ese n° se te puedan plantear mejores soluciones al problema.

Un saludo,
  #3 (permalink)  
Antiguo 24/12/2005, 00:26
 
Fecha de Ingreso: noviembre-2004
Mensajes: 181
Antigüedad: 19 años, 5 meses
Puntos: 1
Lo Nesesito Solo Para Cuando El Usuario Ingrese Ala Pagina No Tenga Q Ingresar El Numero Identificador De La Ficha Que Sera Correlativo Alos Anteriores, En Este Caso (osea = Tiene Q Saber El Numero Porque Despues Lo Ocupara Para Una Busqueda) Ademas Para Q No Se Repita Si Ejenplo Ejiste La Ficha 4 Sera La 5 Eso Nada Mas

Pd: Si Yo Le Coloco Un Count Porq Me Trae La Cantidad De Registros Que Existen Y Como El Usuario No Ingresara Otro Valor En Ese Campo No Corre Peligro Q Existan Dos Registros Con El Mismo Numero
Ahora Si El Usuario Borra Un Registro Ahy Esta El Problema Porq Quedara Con El Valor Anterior ...
Anoser Q Se Pueda Hacer De Otra Forma ???
  #4 (permalink)  
Antiguo 26/12/2005, 05:45
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Creo que te estás liando con ese n° correlativo ..

Si usas campos autonuméricos y únicos (el típico "ID") en tu tabla y dás ese n° generado y listo.

El n° lo dás cuando finalice el proceso de ingreso de tus datos siendo fielmente ese n° el que tendrá (pues lo que haces es ingresar ese dato (tu BBDD lo genera automáticamente) y tu sólo lo lees para darle el n° otorgado).

Si borras registros .. ningún problema .. ese "correlativo" se quedará inutilizado (se continuará el conteo desde el último generado .. es un proceso automático de tu BBDD).

Un saludo,
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 05:54.