Foros del Web » Programando para Internet » PHP »

Idea como hacerlo

Estas en el tema de Idea como hacerlo en el foro de PHP en Foros del Web. Hola gente, Tengo un listado de clientes que se muestran en una tabla desde mysql. Esta tabla tiene un checkbox y un boton enviar, al ...
  #1 (permalink)  
Antiguo 19/03/2012, 09:11
 
Fecha de Ingreso: agosto-2008
Ubicación: Miami, FL
Mensajes: 210
Antigüedad: 15 años, 7 meses
Puntos: 2
Pregunta Idea como hacerlo

Hola gente,
Tengo un listado de clientes que se muestran en una tabla desde mysql.
Esta tabla tiene un checkbox y un boton enviar, al seleccionar uno o varios checkbox envio un email a los clientes seleccionados.
........//
if(isset($_POST['select']))
{
$seleccion=$_POST['select'];
foreach($seleccion as $indice => $valor)
{


$codigohtml = '

<html>
<head>
<title>Recordatorio</title>
</head>
........//
$email = $valor;
$asunto = 'No-Responda-Car Freight, INC.';
$cabeceras = "From: [email protected]\r\nContent-type: text/html\r\n";

if(mail($email,$asunto,$codigohtml,$cabeceras)){
$seEnvio = true;
}else{
$seEnvio = false;
}
if($seEnvio == true)
{
header("Location: enviado.php");
}
else {
echo "correo no enviado";
}
}
}
?>

hasta aquí todo bien. Ahora lo que necesito es que cada ves que envie un email pueda crear un check, una marca en la tabla del cliente al que le envie el email, asi, si hoy le envio un correo tendria una marcar, si mañana le envio otro correo tendria dos marcas, asi hasta la tercera.
Ahora, tengo tres campos en la BD, enviado_1, enviado_2 y enviado_3, lo que no se es como hacer para que al enviar el email me guarde por ejemplo una X en estos campos dependiendo si es el primero, el segundo o el tercero.

No se si me explico bien, ya que como no se como hacerlo no se como explicarlo tampoco.

Saludos y gracias
__________________
Se invierte mas dinero en cirugía de pechos y viagra que en la cura del Alzheimer. En unos años tendremos viejas con grandes tetas y viejos con erecciones pero que no recordarán para que sirven..
  #2 (permalink)  
Antiguo 19/03/2012, 09:49
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Idea como hacerlo

sí lo haces así como lo planteas, no estarías acorde a los principios de normalización.

o usas un solo campo integer para llevar la cuenta de las veces que has enviado el correo

o creas otra tabla para llevar el registro con el id del cliente y fecha de envío

PD: utilice la herramienta highlight del foro para mostrar código
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 19/03/2012, 12:56
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 13 años, 10 meses
Puntos: 55
Respuesta: Idea como hacerlo

si es necesario tener esos tres campos, podrias ver el valor que tiene el primero al momento de marcar el envio, si el primero esta vacio lo llenas, si esta lleno miras e segundo, si este esta vacio lo marcas, si esta lleno llenas el tercero, pero creo que seria mejor usar un solo campos e ir aumentandolo cada vez que envias un mail, pero claro habria que ver que quieres hacer con esas anotaciones para encontrar el metodo correcto.
  #4 (permalink)  
Antiguo 19/03/2012, 16:14
 
Fecha de Ingreso: agosto-2008
Ubicación: Miami, FL
Mensajes: 210
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: Idea como hacerlo

Gracias por responder,
mycolalvarez, no entiendo bien lo de principios de normalización, que es? alguna regla de algo?. Lo de los campos no me importa si es uno o tres y aparase 1, 2 o 3 a medida que se envia el email.
PD: lo tendré en cuenta para la próxima gracias.

waldragon;
No es necesario tener los 3 campos si con uno lo puedo hacer. Lo que me dices de leer y aumentar me da una idea. Con las anotaciones no quiero hacer nada, lo que pasa que a la tercera ves que le envíe el email tengo que eliminar a ese cliente y si no llevo una cuenta puede que le mande mas veces o incluse que no le haya mandado ninguno.

No quiero que me des el código echo, pero si me podes guiar con algun bucle de ejemplo que cumpla esa función te estaria muy agradecido, les estaría muy agradecido a todo aquel que me de una mano.

gracias
__________________
Se invierte mas dinero en cirugía de pechos y viagra que en la cura del Alzheimer. En unos años tendremos viejas con grandes tetas y viejos con erecciones pero que no recordarán para que sirven..
  #5 (permalink)  
Antiguo 19/03/2012, 18:04
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 13 años, 10 meses
Puntos: 55
Respuesta: Idea como hacerlo

entonces puedes hacerlo con un solo campo, por ejemplo:crea el campo envios default 0
luego cada vez que mandas un email a ese cliente aumentas dicho campo +1

Código PHP:
Ver original
  1. //aqui codigo que envia el mail
  2.  
  3. //este es el codigo que aumenta el valor del campo envios
  4. $sentencia = "UPDATE clientes SET envios=envios+1 WHERE id = '" . $idcliente . "';";
  5. mysql_query($sentencia) or die("Error al sumar los envios");

luego al momento de mostrar los clientes para mandarles emails, muestras solo los que tienen un valor menor a 3 en el campo envios, de esa forma no tendras que borrarlos por si en un futuro los necesitas.
  #6 (permalink)  
Antiguo 20/03/2012, 08:49
 
Fecha de Ingreso: agosto-2008
Ubicación: Miami, FL
Mensajes: 210
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: Idea como hacerlo

Waldragon,

Déjame decirte que lo tuyo no esta bien, esta EXCELENTE. Respuesta sencilla, facil de entender y con un ejemplo práctico para desarrollar. Un 10.
Muchisimas gracias.

PD.: tu web de aviones está muy buena, yo hago areomodelismo y fabrico mis aviones, tengo dos cessnas y un entrenador de ala baja.

Saludos
__________________
Se invierte mas dinero en cirugía de pechos y viagra que en la cura del Alzheimer. En unos años tendremos viejas con grandes tetas y viejos con erecciones pero que no recordarán para que sirven..
  #7 (permalink)  
Antiguo 20/03/2012, 15:37
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 13 años, 10 meses
Puntos: 55
Respuesta: Idea como hacerlo

Cita:
Iniciado por desoler Ver Mensaje
Waldragon,

Déjame decirte que lo tuyo no esta bien, esta EXCELENTE. Respuesta sencilla, facil de entender y con un ejemplo práctico para desarrollar. Un 10.
Muchisimas gracias.

PD.: tu web de aviones está muy buena, yo hago areomodelismo y fabrico mis aviones, tengo dos cessnas y un entrenador de ala baja.

Saludos
Muchas gracias, me gusta explicar asi para que todos puedan entender y me alegro que te haya gustado mi web de aviones de guerra, le dedico poco tiempo para publicar nuevos aviones, pero la hice mas que nada para ir probando lo que aprendia, yo tengo un mustang p-51d y estoy armando un pucara, puedes ver los verdaderos en la pagina, saludos.

Etiquetas: php+basedatos
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 09:58.