Ik ben in PHP een functie aan het schrijven waarbij er in een batch een hele zooi Excel documenten gemaakt kan worden.
Echter lukt dit niet helemaal.. PHP schreeuwt steeds dat de headers al bestaan. Kan iemand dit verklaren? Hoe is dit wel voor elkaar te krijgen? Met de functie continue; kwam ik niet verder.
Dit is mijn code:
<?php
if( isset($_POST['export']) )
{
for( $iI = 0; $iI <= $iAnt; $iI++ )
{
if( isset($_POST['select_'.$iI]) )
{
$iLeverancierId = $_POST['select_'.$iI];
$mLeverancier = mysql_query("SELECT * FROM leveranciers WHERE id=". $iLeverancierId);
$sLeverancier = mysql_fetch_array( $mLeverancier );
$sBedrijfsnaam = $sLeverancier['bedrijfsnaam'];
$mProducten = mysql_query("SELECT * FROM producten WHERE leverancierid=". $iLeverancierId ." ORDER BY naam ASC");
//Excel headers
$sFilename = str_replace(" ", "_", $sBedrijfsnaam);
header("Content-type: application/x-msdownload");
header("Content-Disposition: attachment; filename=". date("ymd") ."-". $sFilename .".xls");
header("Pragma: no-cache");
header("Expires: 0");
//Excel content
echo $sBedrijfsnaam . " productenoverzicht". "\n";
echo "Artikelnummer\t";
echo "Productnaam\t";
echo "Verkoopprijs inclusief\t";
echo "Inkoopprijs exclusief\t";
echo "Verzendkosten\t";
echo "Korte omschrijving\t";
echo "Lange omschrijving\t";
echo "URL naar foto\t";
echo "URL naar beheersysteem\t";
echo "\n";
while( $sProducten = mysql_fetch_array( $mProducten ) )
{
$sBeschrijving = $sProducten['beschrijving'];
$sBeschrijving = strip_tags($sBeschrijving);
$sBeschrijving = stripslashes($sBeschrijving);
$sBeschrijving = str_replace("\n", " ", $sBeschrijving);
$sBeschrijving = str_replace("\r", " ", $sBeschrijving);
$sBeschrijving_kort = $sProducten['beschrijving_kort'];
$sBeschrijving_kort = strip_tags($sBeschrijving_kort);
$sBeschrijving_kort = stripslashes($sBeschrijving_kort);
$sBeschrijving_kort = str_replace("\n", " ", $sBeschrijving_kort);
$sBeschrijving_kort = str_replace("\r", " ", $sBeschrijving_kort);
echo $sProducten['productnummer']."\t";
echo $sProducten['naam']."\t";
echo $sProducten['prijs']."\t";
echo $sProducten['inkoopprijs']."\t";
echo $sProducten['verzendkosten']."\t";
echo $sBeschrijving_kort."\t";
echo $sBeschrijving."\t";
if( !empty($sProducten['overzichtsfotoid']) )
{
$mOverzichtfoto = mysql_query("SELECT * FROM productfotos WHERE id=". $sProducten['overzichtsfotoid']);
$sOverzichtfoto = mysql_fetch_array( $mOverzichtfoto );
echo "../productfotos/". $sOverzichtfoto['bestandsnaam']."\t";
}
else
{
echo "Geen overzichtsfoto beschikbaar\t";
}
echo "../product/?prodid=". $sProducten['id'] ."&levid=null\t";
echo "\n";
}
exit;
}
}
}
?>