Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Seleccionar todos los mails.

Estas en el tema de Seleccionar todos los mails. en el foro de PHP en Foros del Web. Hola! Bueno yo estoy haciendo un sistema pero me topé con algo que no logro hacer. Yo en mi base de datos tengo diferentes usuarios ...
  #1 (permalink)  
Antiguo 23/03/2013, 21:19
LjP
 
Fecha de Ingreso: marzo-2013
Mensajes: 5
Antigüedad: 11 años, 8 meses
Puntos: 0
Seleccionar todos los mails.

Hola! Bueno yo estoy haciendo un sistema pero me topé con algo que no logro hacer. Yo en mi base de datos tengo diferentes usuarios y adentro de esos usuarios hay diferentes casillas de email, por ejemplo:

En el usuario Pedro, está el email JuanPedro@bla bla; PedroJuan@bla bla.. bueno hay 8 email dentro de cada usuario. Yo lo que quiero es obtener de ese usuario todos esos email (los 8) y que me los represente en una tabla.

Bueno muchachos, creo que no es gran cosa, pero yo al ser novato me cuentas bastante

Muchas gracias de antemano.
  #2 (permalink)  
Antiguo 23/03/2013, 21:45
 
Fecha de Ingreso: enero-2012
Ubicación: <?php echo"Los teques"; ?>/////estado miranda
Mensajes: 196
Antigüedad: 12 años, 10 meses
Puntos: 9
Respuesta: Seleccionar todos los mails.

Primero vamos con la conexion

Código PHP:
Ver original
  1. <?php
  2. $hostname = 'tuhost'; //Servidor de internet
  3. $database = 'base de datos'; //base de datos
  4. $username = 'usuario'; //nombre de usuario
  5. $password = 'contraseña'; //contraseña
  6. $link=mysql_pconnect($hostname, $username, $password) or trigger_error (mysql_error(),E_USER_ERROR);
  7. mysql_select_db($database, $link);
  8.  
  9.  
  10. ?>

Ahora vamos con el sql


Código PHP:
<?php 
$query_Recordset1 
"SELECT * FROM Tablas ORDER BY id DESC"//selecionamos todos “*” los valores de la tabla tabla_clientes, aquí podemos configurarlo de diversas formas que veremos más adelante
$Recordset1 mysql_query($query_Recordset1$link) or die(mysql_error());
$row_Recordset1 mysql_fetch_assoc($Recordset1); // llamamos a la filas de la tabla //row significa fila
$numero mysql_num_rows($Recordset1);

// desde $Recordset1 haremos llamadas a esta conexión, podemos tener más llamadas a otras conexiones que llamen al contenido a otras tablas
echo "hay ";
echo 
$numero;
echo 
" mails";
echo 
"</br>";
echo 
"</br>";
echo 
"</br>";
?>


Ya obtuvimos y contamos los mails, ahora a mostrarlos


Código PHP:
echo $row_Recordset1['mail'];
echo 
"</br>"
y listo, ahora si quieres enviarle un mail a todos haz lo siguiente:


Crea un archivo llamado mailto.php, o como quieras y ponle este codigo

Código PHP:
$sujeto$_POST['sujeto'];
$mensaje$_POST['mensaje'];


$subject $sujeto;
$message $mensaje;
$from Tucorreoaqui@tuweb.com;
$headers "De:" $from;
mail($to,$subject,$message,$headers); 
Ahora creemos nuestro pequeño formulario llamando, enviar.html

Código HTML:
Ver original
  1. <form ACTION=mailto.php METHOD=POST>
  2. <input type="text" value="sujeto" name="sujeto">
  3. <input type="textarea" value="mensaje" name="mensaje">
  4. <input type="submit" value="Enviar correo" name="enviar">
  5. </form>

Y listo, espero haberte ayudado
  #3 (permalink)  
Antiguo 23/03/2013, 21:54
 
Fecha de Ingreso: enero-2012
Ubicación: <?php echo"Los teques"; ?>/////estado miranda
Mensajes: 196
Antigüedad: 12 años, 10 meses
Puntos: 9
Respuesta: Seleccionar todos los mails.

Casi lo olvido, Bienvenido a foros del web :P

Un formulario mejor si quieres

Código HTML:
Ver original
  1. <form ACTION=mailto.php METHOD=POST>
  2. <input type="text" value="sujeto" name="sujeto"> <br>
  3. <TEXTAREA name="mensaje" ROWS=10 COLS=42 WRAP></TEXTAREA><br>
  4. <input type="submit" value="Enviar correo" name="enviar">
  5. </form>

Error mio, como el form sabra para quien son los correos? Simple

Código PHP:
Ver original
  1. $query_Recordset1 = "SELECT * FROM Tablas"; //selecionamos todos “*” los valores de la tabla tabla_clientes, aquí podemos configurarlo de diversas formas que veremos más adelante
  2. $Recordset1 = mysql_query($query_Recordset1, $link) or die(mysql_error());
  3. $row_Recordset1 = mysql_fetch_assoc($Recordset1);
  4. $t= $row_Recordset1['mail']´;
  5. $to= "$t,";

Última edición por omarinfinito; 23/03/2013 a las 22:02
  #4 (permalink)  
Antiguo 24/03/2013, 10:12
LjP
 
Fecha de Ingreso: marzo-2013
Mensajes: 5
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Seleccionar todos los mails.

Uy, muy completo te agradezco un montó! Pero te hago una pregunta, donde indico el usuario al que quiero sacarle los email, porque como explique arriba dentro de cada usuario hay 8 email, yo para indicarle que usuario quiero tengo una variable, que pertenece al sistema de login que tengo, al iniciar sesión toma todos los correos con el usuario que inicio sesión :P Yo quería una cosa así. Pero igual muy completo veo ahora si lo puedo transformar :)
  #5 (permalink)  
Antiguo 24/03/2013, 10:35
 
Fecha de Ingreso: enero-2012
Ubicación: <?php echo"Los teques"; ?>/////estado miranda
Mensajes: 196
Antigüedad: 12 años, 10 meses
Puntos: 9
Respuesta: Seleccionar todos los mails.

Para seleccionalos de solo un usuario haz lo siguiente

crea un archivo llamado consultamail.php

Código PHP:
Ver original
  1. <?php  
  2. $USER = $_POST['user'];
  3. $query_Recordset1 = "SELECT * FROM Tablas WHERE USER=$USER ORDER BY id DESC"; //selecionamos todos “*” los valores de la tabla tabla_clientes, aquí podemos configurarlo de diversas formas que veremos más adelante
  4. $Recordset1 = mysql_query($query_Recordset1, $link) or die(mysql_error());
  5. $row_Recordset1 = mysql_fetch_assoc($Recordset1); // llamamos a la filas de la tabla //row significa fila
  6. $numero = mysql_num_rows($Recordset1);
  7. echo $row_Recordset1['mails']
  8. echo "</br>";
  9. ?>
Ahora vamos a el formulario:

Código HTML:
Ver original
  1. <form action=consultamail.php METHOD=POST>
  2. <input type=text name=user value=usuario a consultar>
  3. <input type=submit name=submit value=consultar>
  4. </form>

Ahora al entrar en el formulario e ingresar el usuario te enviara a ver los mails del user.
  #6 (permalink)  
Antiguo 24/03/2013, 19:17
LjP
 
Fecha de Ingreso: marzo-2013
Mensajes: 5
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Seleccionar todos los mails.

Hola que tal OmarInfinito, mirá yo lo puse así ya que estube viendo unos ejemplos en diversas páginas,
Código PHP:
Ver original
  1. $query = mysql_query("SELECT email FROM accounts WHERE usuario='".$usuario_nombre."'");
  2.                   mysql_query($query) or die(mysql_error());

Osea sería: Seleccionar el email de la tabla accounts de x usuario

pero el problema es que me dice:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Resource id #9' at line 1

Gracias de antemano!
  #7 (permalink)  
Antiguo 24/03/2013, 19:42
 
Fecha de Ingreso: abril-2010
Ubicación: Saltillo Mexico
Mensajes: 83
Antigüedad: 14 años, 7 meses
Puntos: 4
Respuesta: Seleccionar todos los mails.

Puedes usar la funcion explode.
ej.
Código PHP:
Ver original
  1. /* La consulta la puedes hacer de muchas formas, depende lo que quieras hacer. A mi se me ocurre esta: */
  2. $x = mysql_query("SELECT * FROM usuarios WHERE usuario = 'id_usuario'");
  3.  
  4. //Uso el fetch_assoc() para acceder a los campos por nombre.
  5.  
  6. //el primer parámetro del explode es el caracter del cual quieres separar la cadena. En este caso supongo que estan separados por ";"
  7. $mails = explode(";",$y['nombreDelCampoDeCorreos']);
  8.  
  9. //Mostrar Numero de correos:
  10. echo count($mails);
  11.  
  12. //Mostrar uno por uno:
  13. foreach($mails as $m){
  14.    echo $m;
  15. }

Espero sea de utilidad
  #8 (permalink)  
Antiguo 24/03/2013, 21:13
 
Fecha de Ingreso: enero-2012
Ubicación: <?php echo"Los teques"; ?>/////estado miranda
Mensajes: 196
Antigüedad: 12 años, 10 meses
Puntos: 9
Respuesta: Seleccionar todos los mails.

Recuerda incluir la conexion en esa pagina y cambia
Código PHP:
Ver original
  1. mysql_query($query) or die(mysql_error());

por

Código PHP:
Ver original 
  #9 (permalink)  
Antiguo 25/03/2013, 11:46
LjP
 
Fecha de Ingreso: marzo-2013
Mensajes: 5
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Seleccionar todos los mails.

Hola que tal! Agradesco muchísimo la ayuda que me han dado, ya casi he terminado el sistema pero me falta un detalle, discúlpenme si estoy medio cargoso pero quiero dejar este sistema ya terminadito. El problemita es que al reprecentar todos los email en una columna, no todas las cuentas van a tener los 8 email hay algunas que van a tener 5 o 4 y al otro costado va a haber otra tabla con opciones que va a decir: CambiarMail-Borrar, etc. Pero el problema es que si por ejemplo el email 8 está vacio me muestra las opciones igual. Osea yo quiero que si en el campo email halla texto me muestre las opciones del costado, sinó nada.

Gracias muchachos!
  #10 (permalink)  
Antiguo 25/03/2013, 11:50
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años, 7 meses
Puntos: 47
Respuesta: Seleccionar todos los mails.

entonces al momento de armar la salida html evalua cada email si está vacio no muestres la opcion
  #11 (permalink)  
Antiguo 25/03/2013, 11:52
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 16 años, 1 mes
Puntos: 175
Respuesta: Seleccionar todos los mails.

Que tanto sabes de programación? con unos IF solucionas el problema...

if($fila['columna']=="")

if(!empty($fila['columna']))
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #12 (permalink)  
Antiguo 25/03/2013, 12:08
 
Fecha de Ingreso: abril-2010
Ubicación: Saltillo Mexico
Mensajes: 83
Antigüedad: 14 años, 7 meses
Puntos: 4
Respuesta: Seleccionar todos los mails.

Cita:
Iniciado por LjP Ver Mensaje
Hola que tal! Agradesco muchísimo la ayuda que me han dado, ya casi he terminado el sistema pero me falta un detalle, discúlpenme si estoy medio cargoso pero quiero dejar este sistema ya terminadito. El problemita es que al reprecentar todos los email en una columna, no todas las cuentas van a tener los 8 email hay algunas que van a tener 5 o 4 y al otro costado va a haber otra tabla con opciones que va a decir: CambiarMail-Borrar, etc. Pero el problema es que si por ejemplo el email 8 está vacio me muestra las opciones igual. Osea yo quiero que si en el campo email halla texto me muestre las opciones del costado, sinó nada.

Gracias muchachos!
De verdad te recomiendo que uses explode()
Y para saber cuantos eMails tiene cada registro, usas count()

ej:
Código PHP:
$mails "[email protected];[email protected];[email protected]";

$separados explode(";",$mails);

//Para saber cuantos correos:
$cantidad count($separados);

//para poner un boton en cada elemento puedes usar foreach
foreach($separados as $mail){
    echo 
$mail." <button>Editar / Eliminar</button><br/>";
}

//o tambien puedes hacer un for normal usando la variable $cantidad para determinar el numero de vueltas del ciclo.
for($i 0$i $cantidad$i++){
    echo 
$separados[$i]." <button>Editar / Eliminar</button><br/>";

Espero haberme explicado. Saludos
  #13 (permalink)  
Antiguo 25/03/2013, 12:34
LjP
 
Fecha de Ingreso: marzo-2013
Mensajes: 5
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Seleccionar todos los mails.

Muchas gracias a todos, ya lo pude solucionar! Hice una cosa así:

if($row_resultado['email8']==""){ }else{?> Cambiar Email <?php }

Osea que si el email 8 (por ejemplo) está vacio no hace nada y sino pone la opcion Cambiar Email!

Muchas gracias a todos, han sido de mucha ayuda.!

Etiquetas: tabla, usuarios
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 12:59.