Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Comentarios por email

Estas en el tema de Comentarios por email en el foro de PHP en Foros del Web. Hola a todos, Necesito de su apoyo con esta consulta, El comentario de un producto seleccionado se envia por email, hasta ahi todo bien, el ...
  #1 (permalink)  
Antiguo 19/10/2015, 13:29
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Comentarios por email

Hola a todos,
Necesito de su apoyo con esta consulta,
El comentario de un producto seleccionado se envia por email, hasta ahi todo bien,
el problema es que envia solo, el ultimo comentario del producto seleccionado,
y no logro dar con la consulta, para que envie todo los comentarios del producto seleccionado.



En un producto seleccionado hay varios comentarios que deberia enviarse por email y solo envia el ultimo

Código PHP:
<?php
//
mysql_connect($dbhost,$dbuser,$dbpass) or die(mysql_error());
mysql_select_db($dbdatabase) or die(mysql_error());
//
//
if (isset($_GET['productosid']))    $productosid $_GET['productosid'];
$result mysql_query("SELECT * FROM ".$tabla."comentario WHERE ".$tabla."comentario.productosid='".$_GET['productosid']."' ORDER BY comentarioid DESC"); 
if (
mysql_num_rows($result)){ 
$row mysql_fetch_array($result);  
//
//

//
?> 

<? 
if($_POST['submit']) {
$message =  "    ".$row["coment_contenido"]."    "// todo los comentarios
$headers  "MIME-Version: 1.0" "\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1" "\r\n";
$message .= "From: $correo1\r\n";
$recipient "$correo2";
$subject "Comentarios.";
mail ($recipient$subject$message$headers);
echo 
"<center> comentarios enviados </center>"; }
?>


TABLA

Código HTML:
CREATE TABLE `productos` (
  `productosid` int(11) NOT NULL AUTO_INCREMENT,
  `modeloid` int(11) DEFAULT NULL,
  `marcasid` int(11) DEFAULT NULL,
  `personasid` int(11) DEFAULT NULL,
  `titulo_producto` varchar(100) NOT NULL DEFAULT '',
  `descripcion` longtext NOT NULL,
  PRIMARY KEY (`productosid`)
) ;
CREATE TABLE `comentario` (
  `comentarioid` int(11) NOT NULL AUTO_INCREMENT,
  `productosid` int(11) DEFAULT NULL,
  `nombre_comentario` varchar(100) NOT NULL DEFAULT '',
  PRIMARY KEY (`comentarioid`)
)  ;
  #2 (permalink)  
Antiguo 19/10/2015, 15:01
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 21 años
Puntos: 154
Respuesta: Comentarios por email

Hola pilucho,

Lo raro es que te envíe alguno, puesto que, según la estructura de tus tablas, no tienes la columna "coment_contenido", además, ¿ya sabes que mysql_fetch_array te devuelve un array que debes recorrer para obtener los resultados individuales?
  #3 (permalink)  
Antiguo 19/10/2015, 15:15
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: Comentarios por email

Cita:
Iniciado por rbczgz Ver Mensaje
Hola pilucho,

Lo raro es que te envíe alguno, puesto que, según la estructura de tus tablas, no tienes la columna "coment_contenido", además, ¿ya sabes que mysql_fetch_array te devuelve un array que debes recorrer para obtener los resultados individuales?
hola rbczgz gracias por responder,
el campo ".$row["nombre_comentario"]." es donde esta el contenido de la tabla pero no lobro enviar todo los comentarios solo me da el ultimo comentario escrito

Código PHP:
<?php 
if($_POST['submit']) {
$message =  "    ".$row["nombre_comentario"]."    "// todo los comentarios
$headers  "MIME-Version: 1.0" "\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1" "\r\n";
$message .= "From: $correo1\r\n";
$recipient "$correo2";
$subject "Comentarios.";
mail ($recipient$subject$message$headers);
echo 
"<center> comentarios enviados </center>"; }
?>
  #4 (permalink)  
Antiguo 19/10/2015, 15:24
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 21 años
Puntos: 154
Respuesta: Comentarios por email

Hola pilucho,

En tu código has puesto coment_contenido, ahora lo has copiado bien, pero no obstante, te sigo diciendo: ¿ya sabes que mysql_fetch_array te devuelve un array que debes recorrer para obtener los resultados individuales?

Si no recorres el array no te va a mostrar lo que necesitas.
  #5 (permalink)  
Antiguo 19/10/2015, 16:15
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: Comentarios por email

Cita:
Iniciado por rbczgz Ver Mensaje
Hola pilucho,

En tu código has puesto coment_contenido, ahora lo has copiado bien, pero no obstante, te sigo diciendo: ¿ya sabes que mysql_fetch_array te devuelve un array que debes recorrer para obtener los resultados individuales?

Si no recorres el array no te va a mostrar lo que necesitas.
pero no envia de este modo tampoco que puede estar mal

Código PHP:
<?php
if (isset($_GET['productosid']))    $productosid $_GET['productosid'];
$result mysql_query("SELECT * FROM ".$tabla."comentario WHERE ".$tabla."comentario.productosid='".$_GET['productosid']."' ORDER BY comentarioid DESC"); 
while(
$row mysql_fetch_array($result)) { 
echo 
$row["nombre_comentario"]; 

mysql_freeresult($result) ; 
mysql_close() ; 
?>

<?php 
if($_POST['submit']) {
$message =  "    ".$row["nombre_comentario"]."    "// todo los comentarios
$headers  "MIME-Version: 1.0" "\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1" "\r\n";
$message .= "From: $correo1\r\n";
$recipient "$correo2";
$subject "Comentarios.";
mail ($recipient$subject$message$headers);
echo 
"<center> comentarios enviados </center>"; }
?>
  #6 (permalink)  
Antiguo 20/10/2015, 01:19
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 21 años
Puntos: 154
Respuesta: Comentarios por email

Hola pilucho,

No pretendo ser descortés ni nada por el estilo, pero ¿no te has dado cuenta de que haces el bucle por un lado y envías el dato fuera de él?

Tienes que pensar primero lo que quieres hacer, después analizar lo que necesitas utilizar y cómo (o buscarlo si no lo sabes) y por último, implementarlo.

A mi me habría resultado más fácil darte el código, pero creo que la idea de estos foros es ayudar y no dar las cosas hechas, por eso te doy tanto la lata.

Así estás enviando siempre el último resultado y solo el último.

Te doy una pista: las variables se concatenan con un .
  #7 (permalink)  
Antiguo 20/10/2015, 06:35
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: Comentarios por email

Cita:
Iniciado por rbczgz Ver Mensaje
Hola pilucho,

No pretendo ser descortés ni nada por el estilo, pero ¿no te has dado cuenta de que haces el bucle por un lado y envías el dato fuera de él?

Tienes que pensar primero lo que quieres hacer, después analizar lo que necesitas utilizar y cómo (o buscarlo si no lo sabes) y por último, implementarlo.

A mi me habría resultado más fácil darte el código, pero creo que la idea de estos foros es ayudar y no dar las cosas hechas, por eso te doy tanto la lata.

Así estás enviando siempre el último resultado y solo el último.

Te doy una pista: las variables se concatenan con un .
ok rbczgz gracias seguire buscando como lo sugieres, este foro a cambiado mucho pero bueno supongo que todo es para mejor, antes era distinto, muy amable por la pronta respuesta, a seguir aprendiendo se ha dicho
  #8 (permalink)  
Antiguo 20/10/2015, 13:44
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: Comentarios por email

supuestamente esta concatenado y aun sigue enviado el ultimo mensaje
concatenar


Código PHP:
<?php
//
mysql_connect($dbhost,$dbuser,$dbpass) or die(mysql_error());
mysql_select_db($dbdatabase) or die(mysql_error());
//
//
if (isset($_GET['productosid']))    $productosid $_GET['productosid'];
$result mysql_query("SELECT * FROM ".$tabla."comentario WHERE ".$tabla."comentario.productosid='".$_GET['productosid']."' ORDER BY comentarioid DESC"); 
if (
mysql_num_rows($result)){ 
$row mysql_fetch_array($result);  
//
//

$message =  "    ".$row["nombre_comentario"]."    ";

//
?> 

<?php 
if($_POST['submit']) {
$message .=  "    ".$row["nombre_comentario"]."    "// todo los comentarios
$headers  "MIME-Version: 1.0" "\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1" "\r\n";
$message .= "From: $correo1\r\n";
$recipient "$correo2";
$subject "Comentarios.";
mail ($recipient$subject$message$headers);
echo 
"<center> comentarios enviados </center>"; }
?>
tambien puse esto al final y nada "}"
Código PHP:
if($_POST['submit']) {
$message .=  "    ".$row["nombre_comentario"]."    "// todo los comentarios


// nada


$headers  "MIME-Version: 1.0" "\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1" "\r\n";
$message .= "From: $correo1\r\n";
$recipient "$correo2";
$subject "Comentarios.";
mail ($recipient$subject$message$headers);
echo 
"<center> comentarios enviados </center>"; }
?> 

Y usando while no me muestra el resultado.


Código PHP:
<?php
if (isset($_GET['productosid']))    $productosid $_GET['productosid'];
$result mysql_query("SELECT * FROM ".$tabla."comentario WHERE ".$tabla."comentario.productosid='".$_GET['productosid']."' ORDER BY comentarioid DESC"); 
while(
$row mysql_fetch_array($result)) {
     
echo 
$row["nombre_comentario"]; 

mysql_result($result) ; 
mysql_close() ; 
?>

<?php 
if($_POST['submit']) {
$message .=  "    ".$row["nombre_comentario"]."    "// todo los comentarios
$headers  "MIME-Version: 1.0" "\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1" "\r\n";
$message .= "From: $correo1\r\n";
$recipient "$correo2";
$subject "Comentarios.";
mail ($recipient$subject$message$headers);
echo 
"<center> comentarios enviados </center>"; }
?>
  #9 (permalink)  
Antiguo 20/10/2015, 14:01
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: Comentarios por email

corergi un poco y ahora me envia solo el primero comentario y no todo el comentario de un producto seleccionado, creo que esto no es posible quiza salga con ASP?

Código PHP:
<?php
if (isset($_GET['productosid']))    $productosid $_GET['productosid'];
$result mysql_query("SELECT * FROM ".$tabla."comentario WHERE ".$tabla."comentario.productosid='".$_GET['productosid']."' ORDER BY comentarioid DESC"); 
while (
$row mysql_fetch_array($resultMYSQL_ASSOC))  {
$nombre_comentario $row['nombre_comentario'];

echo 
$row['nombre_comentario']; 


 
?>

<?php 
if($_POST['submit']) {
$message .=  "   $nombre_comentario    "//  todo los comentarios
$headers  "MIME-Version: 1.0" "\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1" "\r\n";
$message .= "From: $correo1\r\n";
$recipient "$correo2";
$subject "Comentarios.";
mail ($recipient$subject$message$headers);
echo 
"<center> comentarios enviados </center>"; }
?>

Última edición por pilucho; 20/10/2015 a las 14:16 Razón: arg
  #10 (permalink)  
Antiguo 20/10/2015, 14:32
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: Comentarios por email

Creo que lo logreeee!
ahora si me salio.

Código PHP:
<?php 
if($_POST['submit']) { 

if (isset(
$_GET['productosid']))    $productosid $_GET['productosid']; 
$result mysql_query("SELECT * FROM ".$tabla."comentario WHERE ".$tabla."comentario.productosid='".$_GET['productosid']."' ORDER BY comentarioid DESC");  
while (
$row mysql_fetch_array($resultMYSQL_ASSOC))  { 
$nombre_comentario $row['nombre_comentario']; 

$cadena .= " $nombre_comentario "
$message .=  "  $cadena     "// todo los comentarios 
}  

$headers  "MIME-Version: 1.0" "\r\n"
$headers .= "Content-type: text/html; charset=iso-8859-1" "\r\n"
$message .= "From: $correo1\r\n"
$recipient "$correo2"
$subject "Comentarios."
mail ($recipient$subject$message$headers); 
echo 
"<center> comentarios enviados </center>"

?>

Última edición por pilucho; 20/10/2015 a las 15:08 Razón: codigo ordenado
  #11 (permalink)  
Antiguo 20/10/2015, 15:36
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 21 años
Puntos: 154
Respuesta: Comentarios por email

Cita:
Iniciado por pilucho Ver Mensaje
Creo que lo logreeee!
ahora si me salio.
¡¡Enhorabuena pilucho!!! Sabía que al final lo lograrías.

Etiquetas: Ninguno
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:46.