Pasar vario registros de una consulta mysql mediante un checkbox y procesarlos en php.
Publicado por Vicente (15 intervenciones) el 03/06/2016 18:32:53
Hola si alguien me pudiera orientar con lo siguiente se lo agradecería:
Tengo una tabla con resultados de una consulta a la BD, donde muestro varios registros, como nombre, mail, estatus etc, aparte las acciones clasicas de borrar y editar, también una acción que mande un correo a los registros seleccionados, no tengo mucho concimiento de php, pero lo conseguí mirando algunos códigos, el problema es que el checkbox sólo me trae los registros de los emails a donde se va a enviar cierta información, pero además necesito que al mismo tiempo me traiga el nombre de otro campo y guardar en una consulta a quién se le envío el correo.
No se cómo asociar los campos email, celebridad y estatus, mediante el checkbox para que los recoga el archivo en php, y ahi separarlos, o extraerlos para realizar las acciones correspondientes, de enviar el email con el nombre, y guardar el estatus en la BD.
El código php de la tabla que muestra los datos es el siguiente:
El checkbox tiene el name="check[]
Y el archivo que lo precesa tiene el siguiente código:
De la manera que lo tengo sólo me devuelve el último registro con el nombre, y lo repite para todos los email.
Espero no haberme enredado tanto, y a ver si me pueden orientar un poco.
Saludos.
Tengo una tabla con resultados de una consulta a la BD, donde muestro varios registros, como nombre, mail, estatus etc, aparte las acciones clasicas de borrar y editar, también una acción que mande un correo a los registros seleccionados, no tengo mucho concimiento de php, pero lo conseguí mirando algunos códigos, el problema es que el checkbox sólo me trae los registros de los emails a donde se va a enviar cierta información, pero además necesito que al mismo tiempo me traiga el nombre de otro campo y guardar en una consulta a quién se le envío el correo.
No se cómo asociar los campos email, celebridad y estatus, mediante el checkbox para que los recoga el archivo en php, y ahi separarlos, o extraerlos para realizar las acciones correspondientes, de enviar el email con el nombre, y guardar el estatus en la BD.
El código php de la tabla que muestra los datos es el siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
include('php/conexion.php');
$i = 0;
$query="SELECT id, celebridad, email, estatus FROM registrarceleb";
$rs = $mysqli->query($query);
if(mysqli_num_rows($rs)!=0){
while($row = mysqli_fetch_assoc($rs)){
$i = $i + 1;
echo '</tr>';
echo '<tr>';
echo '<td>'.$row['id'].'</td>';
echo '<td>'.$row['celebridad'].'</td>';
echo '<td>'.$row['email'].'</td>';
echo '<td>'.$row['estatus'].'</td>';
echo '<td><input value="'.$row['email'].'" type="checkbox" name="check[]"/></td>';
echo '<td><a href="editarCel.php?id='.$row['id'].'">Editar ></a></td>';
echo '<td><input id="ID'.$i.'" name="IDS'.$i.'" type="checkbox" value="'.$row['id'].'"></td>';
echo '</tr>';
echo '<input type="hidden" name="estatus" value="Enviado" />';
echo '<input type="hidden" value="'.$row['id'].'" name="id"/>';
echo '<input type="hidden" value="'.$row['celebridad'].'" name="celebridad"/>';
}
}else{
echo "<tr><td colspan=5><center>No Existe Registro</center></td></tr>";
}
?>
<input type="hidden" value="<?php echo $i; ?>" name="contadorx"/>
</form>
</table>
El checkbox tiene el name="check[]
Y el archivo que lo precesa tiene el siguiente código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
//Acciones para enviar mail
if (!empty($_POST['enviar'])) {
if(isset($_POST['check']) == true)
{
echo '<h2>Lista de emails enviados</h2>';
echo '<table id="tabla_registros1" border=1 width="80%">
<tr><th>Mail Enviado a: </td><th>Celebridad:</th></tr>';
//print_r($_POST);
include('php/conexion.php');
$id=$_POST['id'];
$celebridad=$_POST['celebridad'];
$estatus=$_POST['estatus'];
$query="UPDATE registrarceleb SET estatus='$estatus' WHERE id='$id'";
$resultado=$mysqli->query($query);
foreach($_POST['check'] as $k => $v)
{
$noreply="noreply@mail.mx";
$to = $v;
$headers = "Content-Type: text/html; charset=iso-8859-1\n";
$headers .= "From:".$noreply."\r\n";
$tema="Contacto desde contacto.mx";
$mensaje="<h2>Estimado (a): </h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut eleifend vestibulum aliquet. Donec lacinia rutrum velit sed auctor. Sed quis tempor nibh, in tincidunt lorem. Fusce sapien urna, accumsan id vehicula ac, sagittis vel nulla. Nulla lectus erat, tincidunt molestie ligula ac, blandit convallis quam. Phasellus eget dui eu arcu faucibus tincidunt ut nec orci.<br><br>
<a href='http://prueba_registro.php'>Link de Acceso</a></p>
";
if(@mail($to,$tema,$mensaje,$headers));
{
/*echo '<script language="javascript">alert("El email ha sido enviado");</script>'; */
echo '<tr><td>'.$v.'</br></td><td>'.$celebridad.'</td></tr>';
/*echo '<META HTTP-EQUIV="Refresh" CONTENT="10; URL=../consultar.php">';*/
}
}
echo "<br>";
echo "<a href='consultar.php'>Regresar</a>";
}
else {
echo "No se puede enviar el formulario, verifica los campos";
}
}
?>
De la manera que lo tengo sólo me devuelve el último registro con el nombre, y lo repite para todos los email.
Espero no haberme enredado tanto, y a ver si me pueden orientar un poco.
Saludos.
Valora esta pregunta
0