Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    191

    invio di più record tramite email

    ho un carrello della spesa che somma vari ordini di un cliente e vorrei con una unica email inviare il riepilogativo di tutti gli articoli ordinati. col codice che utilizzo ora facendo un do while, mi invia una email per ogni articolo all'interno del carrello, è fattibile quello che vorrei fare?
    grazieeeee e ciao

  2. #2
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    certo che è fattibile...ma se posti il codice è più facile aiutarti.
    In linea di massima dovresti fare una cosa del genere

    Codice PHP:
    ...
    $mailBody .= "Riepilogo ordine...";
    foreach(
    $cartItems as $item){
       
    $mailBody .= "<riga dettaglio articolo>";
       
    $totale += $item['quantita'] * $item['prezzo'];
    }
    $mailBody .= "<riga totale>";
    mail($to'Ordine n. xxx'$mailBody$eventualiHeader); 

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    191
    questo è il mio codice

    $risultato = mysql_query("SELECT * from ordini WHERE id_utente='$id_utente' AND acq='0'");
    $num_righe = mysql_num_rows($risultato);

    if($num_righe>0){
    do {
    $query8=mysql_query("SELECT * FROM ordini WHERE id_utente='$id_utente' AND acq='0' ");
    $righe8=mysql_fetch_assoc($query8);
    $idi=$righe8[id];
    ;

    $message = "<html><head><title>i due orsetti</title></head><body>";
    $message .= "nome ".trim("$righe8[nome]" )."

    ";
    $message .= "Città ".trim("$righe8[scritta]" )."

    ";
    $message .= "

    www.idueorsetti.net";
    $message .= "</body></html>";
    $headers = "From: info@orsetti.it\r\n";
    $headers .= "MIME-Version: 1.0\n";
    $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
    mail($righe8[email],"Messaggio da www.orsetti.it",$message, $headers);

    $sql22= ("UPDATE ordini SET acq='1' WHERE id_utente='{$id_utente}' AND id='{$idi}'");
    $query22 = mysql_query($sql22) or die (errore_server());

    }

    while($righe8 = mysql_fetch_assoc($query8));


    }

  4. #4
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Basta che sposti la funzione mail fuori dal ciclo, e formatti meglio la lista degli acquisti.
    Tra l'altro, dovresti sistemare anche la sequenza delle query...come fai tu è alquanto inefficente (e strano )
    Codice PHP:
    $headers "From: [email]info@orsetti.it[/email]\r\n";
    $headers .= "MIME-Version: 1.0\n";
    $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

    $risultato mysql_query("SELECT * from ordini WHERE id_utente='$id_utente' AND acq='0'");
    $num_righe mysql_num_rows($risultato);

    if(
    $num_righe>0){
       
       
    $message "<html><head><title>i due orsetti</title></head><body>";
       while(
    $righe8 mysql_fetch_assoc($query8)) {
              
    // Qui, non dovresti mettere la descrizione degli articoli ordinati?
              
    $message .= "nome ".trim("$righe8[nome])."

     "
    ;
              
    $message .= "Città ".trim("$righe8[scritta])."

     "
    ;
       }
       
    $message .= "

    [url='http://www.orsetti.it'][b][url]www.idueorsetti.net[/url][/b][/url]"
    ;
       
    $message .= "</body></html>";
       
    mail($righe8[email],"Messaggio da [url]www.orsetti.it[/url]",$message$headers); 
       
    $sql22= ("UPDATE ordini SET acq='1' WHERE id_utente='{$id_utente}' ");
       
    $query22 mysql_query($sql22) or die (errore_server());


    l'unica cosa che non capisco, è cosa siano $righe8[nome] e $righe8[scritta] ...

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    191
    if($num_righe>0){
    do {
    $query8=mysql_query("SELECT * FROM ordini WHERE id_utente='$id_utente' AND acq='0' ");
    $righe8=mysql_fetch_assoc($query8);
    $idi=$righe8[id];
    ;
    sono il risultato di questa query, in effetti doppia...

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    191
    se metto la funzione mail fuori dal ciclo mi manda solo il primo articolo che trova nel carrello della spesa...

  7. #7
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    riposta il tuo codice...
    Codice PHP:
    $risultato mysql_query("SELECT * from ordini WHERE id_utente='$id_utente' AND acq='0'"); 
    ...
    while(
    $righe8 mysql_fetch_assoc($risultato)) {
              
              
    $message .= "nome ".trim("$righe8[nome])."

     "
    ;
              
    $message .= "Città ".trim("$righe8[scritta])."

     "
    ;
       } 
    Prende tutti gli ordini dell'utente e crearti il body della tua mail.

    PS: ma per ogni riga (articolo) del carrello ti salvi i dati del cliente? non è meglio avere due tabelle (dati-ordine ed articoli-ordine)

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    191
    me ne manda sempre solo uno...
    mysql_select_db($database_orsetti, $orsetti);
    $query4=mysql_query("SELECT * from utenti WHERE id='$id_utente' ");
    $righe4=mysql_fetch_assoc($query4);
    $email4=$righe4[email];

    $query8=mysql_query("SELECT * FROM ordini WHERE id_utente='$id_utente' AND acq='0' ");
    $righe8=mysql_fetch_assoc($query8);
    $idi=$righe8[id];

    while($righe8 = mysql_fetch_assoc($query8)) {

    $message = "<html><head><title>due orsetti</title></head><body>";


    $message .= "Taglia ".trim("$righe8[taglia]" )."

    ";
    $message .= "Colore ".trim("$righe8[colore]" )."

    ";
    $message .= "

    orsetti.net";
    $message .= "</body></html>";
    $headers = "From: info@orsetti.net\r\n";
    $headers .= "MIME-Version: 1.0\n";
    $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";


    $sql22= ("UPDATE ordini SET acq='1' WHERE id_utente='{$id_utente}' AND id='{$idi}'");
    $query22 = mysql_query($sql22) or die (errore_server());
    mail($email2,"Messaggio da www.orsetti.net",$message, $headers);
    }




    header("Location:index.php?page=grazie");

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    191
    prima ho incollato male... questo è il mio codice
    mysql_select_db($database_orsetti, $orsetti);
    $query4=mysql_query("SELECT * from utenti WHERE id='$id_utente' ");
    $righe4=mysql_fetch_assoc($query4);
    $email4=$righe4[email];

    $query8=mysql_query("SELECT * FROM ordini WHERE id_utente='$id_utente' AND acq='0' ");
    $righe8=mysql_fetch_assoc($query8);
    $idi=$righe8[id];

    while($righe8 = mysql_fetch_assoc($query8)) {

    $message = "<html><head><title>due orsetti</title></head><body>";


    $message .= "Taglia ".trim("$righe8[taglia]" )."

    ";
    $message .= "Colore ".trim("$righe8[colore]" )."

    ";
    $message .= "

    orsetti.net";
    $message .= "</body></html>";
    $headers = "From: info@orsetti.net\r\n";
    $headers .= "MIME-Version: 1.0\n";
    $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";


    $sql22= ("UPDATE ordini SET acq='1' WHERE id_utente='{$id_utente}' AND id='{$idi}'");
    $query22 = mysql_query($sql22) or die (errore_server());
    mail($email2,"Messaggio da www.orsetti.net",$message, $headers);
    }
    header("Location:index.php?page=grazie");

    ?>

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    191
    lo incolla male...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.