Foros del Web » Programando para Internet » PHP »

Numero consecutivo

Estas en el tema de Numero consecutivo en el foro de PHP en Foros del Web. Hola, esta es la funcion para mandar un mail en un form con un numero aletatorio. <? $id = rand(00000002,99999999); ?> <input type="Hidden" name="Ds_Merchant_Order" size="12" ...
  #1 (permalink)  
Antiguo 19/05/2004, 11:17
 
Fecha de Ingreso: abril-2004
Mensajes: 9
Antigüedad: 20 años
Puntos: 0
Numero consecutivo

Hola, esta es la funcion para mandar un mail en un form con un numero aletatorio.

<?
$id = rand(00000002,99999999);
?>
<input type="Hidden" name="Ds_Merchant_Order" size="12" value="<? echo $id; ?>">

Cual seria la funcion para mandarlo, en plan : 1, 2, 3, 4.....Es decir, consecutivo, que no sea aletario.

Gracias
  #2 (permalink)  
Antiguo 19/05/2004, 11:33
Avatar de mautik  
Fecha de Ingreso: mayo-2004
Mensajes: 149
Antigüedad: 19 años, 11 meses
Puntos: 0
pues tomas el ultimo registrado en la db y le sumas 1...daa
__________________
123...probando...probando...123
  #3 (permalink)  
Antiguo 19/05/2004, 13:45
 
Fecha de Ingreso: abril-2004
Mensajes: 9
Antigüedad: 20 años
Puntos: 0
no tengo base de datos. como se hace asi?
  #4 (permalink)  
Antiguo 19/05/2004, 13:50
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Hoddix

Para que metes ese nº en un campo hidden de un formulario (que previamente procesas ya con PHP para generarlo) y luego haces otro proceso PHP basado en ese nº?

No será mejor generar ese nº en el script de proceso final de esos datos? .. Así no andas paseando ese dato en el formulario (cliente) donde puede ser alterable fácilmente?.

--------

Sobre el problema concreto .. Si ese nº lo generas en el proceso de envio de tu e-mail y lo almacenas en algún sito: lease; base de datos, archivo de texto plano .. podras leerlo para incrementar su valor y usarlo como "contador" permanente: cada e-mail que se envié será contabilizado . Y es más, con ese sistema podrías guardar asociado datos como "fecha de envio", IP del cliente que lo envia .. etc.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 19/05/2004, 13:52
 
Fecha de Ingreso: abril-2004
Mensajes: 9
Antigüedad: 20 años
Puntos: 0
eso si que tienes razon, pero como puedo hacer que no me de un numero aleatorio? si no que me de una cuenta consecutiva, para recibir pedidos desde el 1 en adelante?
  #6 (permalink)  
Antiguo 19/05/2004, 14:38
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues .. eso, .. almacena tu valor de tu "contador" en un archivo de texto plano .. Al enviar tu e-mail (justo antes en el proceso) lees tu archivo de texto plano -> obtienes el dato -> lo incrementas y vuelves a guardar el dato en el archivo de texto plano.

Eso sería lo básico ..

Lo otro sería ir creando "registros" en ese archivo de texto plano -> leer el último "id" generado y añadir tu nuevo registro (que tendrá esas estadísticas de uso y demás ..

Todo eso lo haces con las funciones: fopen() ... fwrite fgets() ... etc.

www.php.net/fopen

Un saludo,

PD: Es más facil y más optimo usar una BD para estos menesteres .. pero si no puedes igualmente puedes hacerlo con archivo de texto plano.
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 19/05/2004, 14:44
 
Fecha de Ingreso: abril-2004
Mensajes: 9
Antigüedad: 20 años
Puntos: 0
Gracias por todo eso.

Pero mejor te lo explico todo como es, porque yo tambien mira que soy lento.

He hecho una tienda virtual con el programa de Cibertienda. ME crea 4 archivos, el Carrito.htm, Estado.htm, Enviar.php y Formulario.htm

cuando envias el formulario lo envia por parte del Enviar.php. Peeeeeero envia todos los datos de formulario, los datos de la compra, pero no envia un numero de pedido. Lo que yo quiero implementar es un Numero de pedido, que empiece desde el 1.

Me has comentado algo de una base de datos, como seria eso?
  #8 (permalink)  
Antiguo 19/05/2004, 15:03
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Te recomiendo leer las FAQ's de este foro .. ahí veras tutoriales sobre PHP.

y en:
www.mysql-hispano.com

veras tutoriales sobre Base de datos Msyql (Temas como "SQL", "normalización" .. etc)

Creo que deberías ver un poco sobre PHP y Mysql antes de nada .. y luego replantearte las preguntas (veras que entenderás mejor las respuestas dadas y que te puedan dar).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #9 (permalink)  
Antiguo 19/05/2004, 15:07
 
Fecha de Ingreso: abril-2004
Mensajes: 9
Antigüedad: 20 años
Puntos: 0
buf!! demasiado complicado para mi. Pos nada, vere si encuentro algo por ahi.

gracias de todas formas
  #10 (permalink)  
Antiguo 19/05/2004, 17:14
Avatar de Gerald  
Fecha de Ingreso: julio-2003
Mensajes: 1.356
Antigüedad: 20 años, 9 meses
Puntos: 2
No es nada del otro mundo pero quizas estas tratando de correr sin saber caminar, lo que cluster te propone son datos muy buenos para empezar a dar buenos pasos, ademas tus Base de Datos no seran tan enredadas tal como las tenia yo, hasta que conoci Normalizacion de DB...

Creo yo, que estas ahogando en un vaso con agua....

Lee las Faqs
__________________
Solo por Hoy: Trataré de fortalecer mi mente. Estudiaré y aprenderé algo útil
Hoteldipity
Arte Caracol

Última edición por Gerald; 19/05/2004 a las 17:49
  #11 (permalink)  
Antiguo 19/05/2004, 17:17
 
Fecha de Ingreso: abril-2004
Mensajes: 9
Antigüedad: 20 años
Puntos: 0
Me ha gustado la frase de lo de correr.....

Ya lo he conseguido, he unido unas funciones a un TXT y me va de perlas jijiji.

gracias de todas formas.
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 21:31.