Domanda

Sono francese, quindi potrei non parlare molto bene l'inglese.

Sto provando a " put " il risultato di un ciclo foreach in una variabile come questa:

$msg = '<html><head>
        <title>Commande de photos</title>
 </head><body>
        <p>Voici la liste des photos demand&eacute;es :<br />
 <ul> HERE I WANT TO "PUT" THE RESULT OF THE FOREACH LOOP</ul>';

Ecco il mio ciclo foreach:

foreach($tab as $val){
echo('<li>'.$val.'</li>');
}

Quindi $ msg entra nella composizione della funzione mail () in questo modo:

mail($destinataire,$sujet,$msg,$headers);

Quindi come posso fare questo per includere il risultato di foreach in un messaggio perché ho già un bug?

È stato utile?

Soluzione

$msg = '<html><head><title>Commande de photos</title></head><body><p>Voici la liste des photos demand&eacute;es :</p><ul>';
foreach($tab as $val){
     $msg .= '<li>' . $val . '</li>';
}
$msg .= '</ul>';
mail($destinataire,$sujet,$msg,$headers);

Il trucco qui è l'operatore di concatenazione =. Ad esempio:

$x = 'abc';
echo $x; // echoes 'abc'
$x .= 'def';
echo $x; // echoes 'abcdef'

Altri suggerimenti

Ti piace?

$list = '';
foreach($tab as $val){
    $list .= '<li>'.$val.'</li>';
}

$msg = '<html><head>
    <title>Commande de photos</title>
</head><body>
    <p>Voici la liste des photos demand&eacute;es :<br />
<ul>'.$list.'</ul>';

mail($destinataire,$sujet,$msg,$headers);
ob_start();
// here your loop echo'ing stuff
$content = ob_get_clean();

Vedi le pagine man di php per maggiori informazioni sulle funzioni ob_ *

Non tanto una risposta, ma la risposta di davethegr8 ha funzionato per me! Sto tentando la mia prima integrazione del sistema di template php usando Savant3 e questo aiutato mantiene tutta la logica separata dal file template. Grazie!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top