Foros del Web » Programando para Internet » PHP »

Agregar valores a variable

Estas en el tema de Agregar valores a variable en el foro de PHP en Foros del Web. Buen día y gracias de antemano a quien me pueda ayudar, tengo un query que me da como resultado x cantidad de registros, lo que ...
  #1 (permalink)  
Antiguo 24/07/2009, 17:45
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 10 meses
Puntos: 394
Agregar valores a variable

Buen día y gracias de antemano a quien me pueda ayudar,

tengo un query que me da como resultado x cantidad de registros, lo que necesito es que todo esto se me guarde en una variable y me lo envie a un correo de forma ordenada, este es el codigo:

Código PHP:

<?php
$header 
"From: [email protected]\r\nContent-type: text/html; charset=utf-8\r\n";
$asunto "Programación.";
$ultimoCorreo "";
while(
$row mysql_fetch_assoc($select)) {
  if(
$ultimoCorreo != $row['mail'] && $ultimoCorreo != "") {
    
mail($ultimoCorreo,$asunto,$mensaje,$header);
  }
$mensaje '<font face="Tahoma, Arial" size="2"><font size="3"><b>'.$row['titulo'].'</b></font><br /><font size="2">'.strip_tags($row['descripcion']).'<br /><b>Localidad:</b>'.$row['lugar'].'<br /><b>Fecha:</b>'.$row['f_inicio'].'<br /><b>Más detalles en:</b><a href="pub.mosevent.php?id_reg='.$row['id'].'">Leer mas</a></font><br/><br/>';
  
$ultimoCorreo $row['mail'];
}
  
mail($ultimoCorreo,$asunto,$mensaje,$header);
?>
Pero solo me envia el ultimo registro que entrega Mysql, alguien me podria decir como hacer para que me agregue todos los registros en la misma variable ???
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #2 (permalink)  
Antiguo 24/07/2009, 18:11
 
Fecha de Ingreso: julio-2009
Mensajes: 30
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Agregar valores a variable

Creo que el código trabajaría mejor de este modo:
Código PHP:
<?php
    $header 
"From: [email protected]\r\nContent-type: text/html; charset=utf-8\r\n";
    
$asunto "Programación.";
    
$ultimoCorreo "";

    while(
$row mysql_fetch_assoc($select)) {
        if(
$ultimoCorreo != $row['mail']) {
            
$mensaje '<font face="Tahoma, Arial" size="2"><font size="3"><b>'.$row['titulo'].'</b></font><br /><font size="2">'.strip_tags($row['descripcion']).'<br /><b>Localidad:</b>'.$row['lugar'].'<br /><b>Fecha:</b>'.$row['f_inicio'].'<br /><b>Más detalles en:</b><a href="pub.mosevent.php?id_reg='.$row['id'].'">Leer mas</a></font><br/><br/>';
            
mail($row['mail'], $asunto$mensaje$header);
        }
        
$ultimoCorreo $row['mail'];
    }
?>
Pero no he entendido exactamente lo que quieres hacer, ¿enviar un mail por registro, o enviar un email con todos los registros dentro?

Última edición por Maracanaido; 24/07/2009 a las 18:22
  #3 (permalink)  
Antiguo 24/07/2009, 18:18
 
Fecha de Ingreso: diciembre-2008
Ubicación: Lima - Perú
Mensajes: 187
Antigüedad: 15 años, 4 meses
Puntos: 3
Respuesta: Agregar valores a variable

Hola lo que yo haria es guardar los registros en un array bidimensional.

Compartire una de mis propias funcines contigo. Esta funcion resulta cuando asignas un campo adicional a tu tabla llamado indice para que todos los registros tengan una numeración qu empieza desde cero


$BD="mi_base";
$tabla="mi_tabla";


//Este codigo te cuenta los registros y el numero de campos de tu tabla

$num_registros=mysql_query("SELECT COUNT(*) FROM $tabla");
$num_registros=mysql_fetch_row($num_registros);
$num_registros=$num_registros[0];

$num_campos = mysql_query("SELECT*FROM $tabla");
$num_campos = mysql_fetch_row ($num_campos);
$num_campos = count($num_campos);

//fin


//esta funcion almacena todos los registros en la variable $registro


function mis_registros($BD, $tabla)
{
mysql_query("USE $BD");

//Salvo los registros
for($i=0;$i<$num_registros;$i++)
{
$mostrarregistros=mysql_query("SELECT*FROM $tabla WHERE indice='$i'");
$registros= mysql_fetch_row ($mostrarregistros);
for($k=0;$k<$num_campos;$k++)
$registro[$i][$k]=$registros[$k];
}
//fin

return $registro;
}

luego llamamos a la funcion

$mis_registros=mis_registros($BD, $tabla);

Con esto

echo $mis_registros[0][0];

se muestra el registro con indice 'cero' del primer campo(el primer campo tiene tambien indice cero)

y con esto

echo $mis_registros[0][1];

se muestra el registro con indice 'cero' del segundo campo(el segundo campo tiene indice uno)

y con esto

echo $mis_registros[5][2];

se mostraria el registro con indice 'cinco' del tercercampo

bueno ese array lo puedes enviar con la funcion mail y mostrar todos l;os registros cuando abras el mensaje en tu bandeha de entrada

Ojala te sirva. Saludos desde Lima-Perú

PD: he visto en este foro que cuando muestran algu8n codigo, lo encierran en yn recuadro dentro del mensaje. Como se hace esso?
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 14:39.