Visualizzazione risultati 1 fino 5 di 5

Discussione: [PHP] PEAR Mail e Query

  1. #1
    Guest

    Question [PHP] PEAR Mail e Query

    Buongiorno a tutti,

    mi sto cimentando, per la prima volta, nell'uso di pear's mail per inviare delle mail con all'interno il contenuto di una query mysql; ebbene, funziona tutto, l'unica cosa che non riesco a sistemare è la formattazione ed anche il risultato query, vi spiego con il codice:

    Codice PHP:
    $conn = new mysqli($servername, $username, $password, $dbname);
    if (
    $conn->connect_error) {
    die(
    "Connection failed: " . $conn->connect_error);
    }
    $sql1 = "SELECT MAGA AS MA FROM PATAF WHERE AA99=24";
    $result = $conn->query($sql1);
    if (
    $result->num_rows > 0)
    {
    {
    while(
    $row = ($result)->fetch_assoc())
    {
    //

    $body = "Content-Type: text/html; charset=ISO-8859-1\n";
    $body .= "Content-Transfer-Encoding: quoted-printable\n\n";
    $body .= "<style>
    table {
    font-family: arial, sans-serif;
    font-size:28px;
    border-collapse: 0.5px;
    border-spacing: 1px;
    width: 100%;
    hight: 18px;
    }

    td, th {
    border: 1px solid #dddddd;
    text-align: right;
    font-size:13px;
    padding: 5px;
    }

    tr:nth-child(even) {
    background-color: #f2f2f2;
    }
    </style>
    <center>
    <table><tr><th>PV</th></tr>"
    ;
    $body .="CONTENT\n\n";
    $body .="" . $row['MA'] . "" ;
    $body .="\n\n\n\n\n";

    //
    }
    ...poi invio la mail...

    Codice PHP:
    echo "send mail ...";
    $mail = $smtp->send($to, $headers, $body);
    echo
    "mail sent.";
    e questo è il risultato che ricevo via mail.

    L'ultima riga restituisce F02, in realtà dovrebbe restituire circa 30 risultati, ma me ne riporta solo 1.




    Dove sbaglio?
    Grazie a chi risponderà

  2. #2
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,894

    Predefinito

    1)Controlla di utilizzare l'ultimo pacchetto disponibile e usa Mail_Mime (oppure impazzisci con l'header) leggi il secondo commento nel link degli esempi.
    2)Questa istruzione sql recupera il campo MAGA con alias MA e la presenza della clausola WHERE fa sì che vengano incluse nel conteggio solo le righe in cui il valore di AA99 è uguale a quello specificato.
    Codice:
    SELECT MAGA AS MA FROM PATAF WHERE AA99=24
    Ultima modifica di darbula : 20-12-2018 alle ore 19.38.37

  3. #3
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,067

    Predefinito

    Ma perché iteri ogni volta tutto il contenuto dell'email? Se vuoi visualizzare più righe, non trovi dovrebbe essere una cosa del genere?

    Codice PHP:
    $conn = new mysqli($servername, $username, $password, $dbname);
    if (
    $conn->connect_error) {
    die(
    "Connection failed: " . $conn->connect_error);
    }
    $sql1 = "SELECT MAGA AS MA FROM PATAF WHERE AA99=24";
    $result = $conn->query($sql1);
    if (
    $result->num_rows > 0)
    {
    $body = "Content-Type: text/html; charset=ISO-8859-1\n";
    $body .= "Content-Transfer-Encoding: quoted-printable\n\n";
    $body .= "<style>
    table {
    font-family: arial, sans-serif;
    font-size:28px;
    border-collapse: 0.5px;
    border-spacing: 1px;
    width: 100%;
    hight: 18px;
    }

    td, th {
    border: 1px solid #dddddd;
    text-align: right;
    font-size:13px;
    padding: 5px;
    }

    tr:nth-child(even) {
    background-color: #f2f2f2;
    }
    </style>
    <center>
    <table><tr><th>PV</th></tr>"
    ;
    $body .="CONTENT\n\n";
    while(
    $row = ($result)->fetch_assoc())
    {
    //
    $body .= $row['MA']."\n";
    //
    }
    $body .="\n\n\n\n\n";
    }
    Inoltre nello spezzone di codice che hai mostrato hai aperto tre graffe ma solo una chiusa. Immagino il codice non sia tutto qui, però la graffa alla riga 9 è inutile.

    Ciao!

    Ciao!

  4. #4
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Ma perché iteri ogni volta tutto il contenuto dell'email? Se vuoi visualizzare più righe, non trovi dovrebbe essere una cosa del genere?

    Codice PHP:
    $conn = new mysqli($servername, $username, $password, $dbname);
    if (
    $conn->connect_error) {
    die(
    "Connection failed: " . $conn->connect_error);
    }
    $sql1 = "SELECT MAGA AS MA FROM PATAF WHERE AA99=24";
    $result = $conn->query($sql1);
    if (
    $result->num_rows > 0)
    {
    $body = "Content-Type: text/html; charset=ISO-8859-1\n";
    $body .= "Content-Transfer-Encoding: quoted-printable\n\n";
    $body .= "<style>
    table {
    font-family: arial, sans-serif;
    font-size:28px;
    border-collapse: 0.5px;
    border-spacing: 1px;
    width: 100%;
    hight: 18px;
    }

    td, th {
    border: 1px solid #dddddd;
    text-align: right;
    font-size:13px;
    padding: 5px;
    }

    tr:nth-child(even) {
    background-color: #f2f2f2;
    }
    </style>
    <center>
    <table><tr><th>PV</th></tr>"
    ;
    $body .="CONTENT\n\n";
    while(
    $row = ($result)->fetch_assoc())
    {
    //
    $body .= $row['MA']."\n";
    //
    }
    $body .="\n\n\n\n\n";
    }
    Inoltre nello spezzone di codice che hai mostrato hai aperto tre graffe ma solo una chiusa. Immagino il codice non sia tutto qui, però la graffa alla riga 9 è inutile.

    Ciao!

    Ciao!
    Ciao e grazie per la tua risposta.
    La tua soluzione è perfetta; in effetti era proprio quello che non riuscivo a fare.

    Ho solo un ultimo problema, cioè che nell'email che ricevo viene riportato il codice html in chiaro


  5. #5
    Guest

    Predefinito

    Risolto utilizzando phpmailer.

    Si può chiudere grazie

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •