Is er een manier waarop ik gegevens uit een databasetabel ipv van op het scherm te tonen, de tabel met gegevens in een mail te verwerken?
Gr, Peter
Je kan mailen via [php]mail[/php] of nog een betere oplossing, door phpMailer te gebruiken.
Ik ben niet duidelijk geweest in mijn vraagstelling. Ik gebruik PHP mailer. Een bestaande statische tabel verzenden niet het probleem.
Ik wil eigenlijk de volgende optie realiseren;
Er zitten bv 20 records in de tabel uren. Ik wil de gebruiker de mogelijkheid geven een selectie uit de tabel maken. Normaal met een do-while lus in een table naar het scherm. Nu wil ik de gegevens in een table (periodiek) rechtstreeks naar de gebruiker mailen.

bv zoals hieronder;

Die do-while lus werkt zo niet.

<?php
// message
$message = '
<html>
<head>
  <title>Birthday Reminders for August</title>
</head>
<body>
  <p>Uw urenoverzicht over de periode:</p>
  <table>
  
    <tr>
      <th>Person</th>
      <th>Day</th>
      <th>Month</th>
      <th>Year</th>
    </tr>
    
    <tr>
      <td><?PHP $totalRows_rs_werkbriefje;?></td><td>3rd</td><td>August</td><td>1970</td>
    </tr>
    
    
    <?PHP while($row_rs_werkbriefje = mysqli_fetch_array($rs_werkbriefje)){?>
    
    <tr>
      <td>Sally</td><td>17th</td><td>August</td><td>1973</td>
    </tr>
    
    <?PHP }?>
    
    
    
    
    
  </table>
</body>
</html>
';
?>
Zet je code even tussen de verplichte PHP-tags en onze codetags (zie de Veelgestelde Vragen). Dan zie je dat de syntax niet klopt. Je kan geen PHP starten in een PHP-blok.
Dank voor de snelle reactie. Begrijp ik goed dat wat ik wil niet mogelijk is? Zou je een link kunnen geven naar de tekst in de Veel gestelde vragen. Ik kan het helaas niet vinden.
Het gaat om de UBB-code [code]. Als je jouw bericht aanpast is het voor ons duidelijker te lezen.

<?php
$message = <<<EOD

    
<table width="100%" border="1">
  <tbody>
    <tr>
      <td>&nbsp;</td>
      <td>$subject</td>
      <td>$totalRows_rs_werkbriefje</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    

    <?PHP do{ ?>
    <tr>
      <td>twee</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <?PHP }while($row_rs_werkbriefje = mysqli_fetch_array($rs_werkbriefje));?>
  
    
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
  </tbody>
</table>

EOD;
?>


Je kan geen PHP beginnen in een PHP-blok. Dus je zult eerst de tabel moeten uitvoeren, en de output ervan aan in een variabele aan je mail hangen.

Outputbuffering lijkt mij de beste optie:
Je begint dan met ob_start(), dan voer je jouw tabel en loop uit. Dan eindig je met ob_end_flush() en met ob_get_contents() heb je de gehele output die je in je variabele kan verwerken.

Verder heb ik zelf even je berichten aangepast met code-tags, die in het forum verplicht zijn.
Bedankt, ga ik mee aan de slag.

[size=xsmall]Toevoeging op 12/07/2018 20:13:19:[/size]

Het is nu gelukt. Hartelijk dank voor de ondersteuning.

Reageren