He,

Ik moet een verzendbrief generegen automatisch aan hoeveel bedrijven er in de database zitten.

Dus zitten er 2 bedrijven in moet hij dit 2x doen.
Nou heb ik dus een pagina verzendbrief.php die controleerd hoeveel bedrijven erin zitten en een pagina documentverzendbrief2.php waar de document informatie enz in zit. Hier zitten ook sql queries en vanalles in.

Alleen het nadeel is dat hij als ik een include in een while loop gooi dat deze maar 1 keer uitgevoerd wordt en er staan op dit moment 2 bedrijven in de database.

Haal ik de include weg werkt het wel prima.
Is dit niet mogelijk met een include in een while loop of doe ik iets fout ?

Alvast bedankt

Mvg,
Nils van Woensel



<?php
session_start();
$_SESSION["opmerkingen"]= ($_POST["opmerkingen"]);

?>

<br /><br /><br /><br /><br /><br /><br />


<?php

include("inc_connect_mysql.php");

$query="SELECT * FROM verzendbrief_bedrijf WHERE naam_persoon='" . $_SESSION["name"] . "' ";
$result=mysql_query($query) or die (mysql_error());
while ($row= mysql_fetch_array($result)){
echo ("<br>");
echo $row["contactpersoon"];
echo ("<br>");
echo $row["naam_bedrijf"];
echo ("<br>");
echo $row["adres"];
echo ("<br>");
echo $row["postcode"];
echo (" ");
echo $row["plaats"];
echo ("<br>");


include("documentverzendbrief2.php");


}

?></table>
Hoi Nils,

Als je het verzenden van de uiteindelijke brief nu eens in een functie plakt, welke de variabelen uit je eerste query accepteerd. Dus bijvoorbeeld:

<?php

verzendbrief($var1, $var2, $var3);

?>

En deze functie dan aanroept in je while loop, dan moet het volgens mij goed gaan. Dus waar nu include staat, roep je je functie aan.

De functie zelf plaatst je middels een require_once commando bovenaan je pagina.

Hoop dat je hier wat mee kan.
het zou moeten werken, misschien heb je een fout in documentverzendbrief2.php
@Jongerden:

Ik zal het eens proberen alshowel ik niet zo goed ben in die functies

@Jurgen:

Hij doet het ook 1 x prima dus waarom pakt hij hem dan niet voor de 2e keer. Dus ik zou zeggen dat er geen fout in zit ?
Haal je include commando anders eens weg en kijk dan of hij inderdaad wel twee bedrijven weergeeft in je tabel!

Indien dat wel werkt, dan kan het ook wel in je documentverzendbrief2.php zitten..

jep dan voert hij hem 2 x uit
Ik zal mijn documentverzendbrief2.php hieronder posten.
Excuses voor mijn onduidelijke uitlijning:$

<?php
session_start();
?>
<html>
<head>
<LINK HREF="brief.css" REL="stylesheet" TYPE="text/css">
<title></title>
</head>
<body>

<?php


include("inc_connect_mysql.php");

$datum = date("j F Y");
$dagvanweek = date("l");
$arraydag = array(
"Zondag",
"Maandag",
"Dinsdag",
"Woensdag",
"Donderdag",
"Vrijdag",
"Zaterdag"
);
$dagvanweek = $arraydag[date("w")];
$arraymaand = array(
"Januari",
"Februari",
"Maart",
"April",
"Mei",
"Juni",
"Juli",
"Augustus",
"September",
"Oktober",
"November",
"December"
);
$datum = date("j ") . $arraymaand
[date("n") - 1] . date(" Y");

?>

<br /><br /><br /><br />
<table width="150%">
<tr>
<td align="left">Ons Kenmerk</td>
<td align="left">Datum</td>
</tr>
<tr>
<td align="left">13</td>
<td align="left"><?php echo "$dagvanweek, $datum"; ?></td>
</tr>
<tr>
<td align="left">Uw Kenmerk</td>
</tr>
<tr>
<td></td>
<td align="left">Doorkiesnummer</td>
</tr>
<tr>
<td></td>
<td align="left">

<?php
$personeel="SELECT telefoonnummer FROM personeel WHERE naam='" . $_SESSION["naam"] . "' && achternaam='" . $_SESSION["achternaam"] . "' " ;
$result= mysql_query($personeel) or die (mysql_error());
while($row= mysql_fetch_array($result)){
echo ($row["telefoonnummer"]);
}


?></td></tr></table>
<br /><br />
Onderwerp</b><br />

<b>Project <?php

$prteller= 0;

$project="SELECT projectnummer FROM verzendbrief_document WHERE naam_persoon='" . $_SESSION["name"] . "' ";
$result2= mysql_query($project) or die (mysql_error());
while($row= mysql_fetch_array($result2)){
$projectnummer=($row["projectnummer"]);

if ($prteller >= 1)
{


}else{
echo ($projectnummer);
$prteller ++;
}

}
?></b>
<br /><br />
Geachte heer/mevrouw,<br />
Bijgaand treft u de volgende documenten aan:

<hr><table align="center" width="100%">
<tr>
<td><b>Aantal</td>
<td><b>Documentcode</td>
<td><b>Bedrijf</b></td>
<td><b>Revisie</td>
<td><b>Ontwerp datum</td>
<td><b>Omschrijving</td>
<td><b>Status</td>
<td><b>Soort</td>
<td><b>Doel</td>
<td><b>Uiterlijk retour</td>
</tr>
<?php
$project="SELECT * FROM verzendbrief_document WHERE naam_persoon='" . $_SESSION["name"] . "' ORDER BY bedrijf";
$result2= mysql_query($project) or die (mysql_error());
while($row= mysql_fetch_array($result2)){
echo ("<tr><td>");
echo ($row["aantal"]);
echo ("</td><td>");
echo ($row["documentcode"]);
echo ("</td><td>");
echo ($row["bedrijf"]);
echo ("</td><td>");
echo ($row["revisie"]);
echo ("</td><td>");
echo ($row["datum_ontworpen"]);
echo ("</td><td>");
echo ($row["omschrijving"]);
echo ("</td><td>");
echo ($row["status"]);
echo ("</td><td>");
echo ($row["documentsoort"]);
echo ("</td><td>");
echo ($row["doel"]);
echo ("</td><td>");
echo ($row["datum_uiterlijk_retour"]);
echo ("</td></tr>");


}

?>
</table>

<hr>
<?php echo $_SESSION["opmerkingen"];
?>

<br />
Met vriendelijke groet,<br />
<?php
$project10="SELECT bedrijf FROM projectinfo WHERE projectnummer='" . $projectnummer . "' ";
$result10= mysql_query($project10) or die (mysql_error());
while($row= mysql_fetch_array($result10)){
echo($row["bedrijf"]);

}
?><br /><br /><br /><br /><br /><br />


<?php
echo $_SESSION["name"];
echo("<br>");

$personeel1="SELECT functie FROM personeel WHERE naam='" . $_SESSION["naam"] . "' && achternaam='" . $_SESSION["achternaam"] . "' " ;
$result5= mysql_query($personeel1) or die (mysql_error());
while($row= mysql_fetch_array($result5)){
echo ($row["functie"]);
}



?>
<hr>
<font size="5"><b>Legenda</b></font><br /><br />
<div id="index_01"> <b>Verzenddoel</b>
<table>


<?php
$project12="SELECT DISTINCT(doel) FROM verzendbrief_document WHERE naam_persoon='" . $_SESSION["name"] . "' ORDER BY doel";
$result12= mysql_query($project12) or die (mysql_error());
while($row= mysql_fetch_array($result12)){
$doel=($row["doel"]);

if ($doel == ('C')){
echo ("<tr><td>C&nbsp;</td><td>Ter Controle</td></tr>");}

if ($doel == ('G')){
echo ("<tr><td>G&nbsp;</td><td>Ter Goedkeuring</td></tr>");}

if ($doel == ('B')){
echo ("<tr><td>B&nbsp;</td><td>Ter Behandeling</td></tr>");}

if ($doel == ('Y')){
echo ("<tr><td>I&nbsp;</td><td>Ter Informatie</td></tr>");}

if ($doel == ('U')){
echo ("<tr><td>U&nbsp;</td><td>Voor Uitvoering</td></tr>");}


}
?> </table>
</div>
<div id="index_02"><b>Documentstatus</b><table>
<?php

$project13="SELECT DISTINCT(status) FROM verzendbrief_document WHERE naam_persoon='" . $_SESSION["name"] . "' ORDER BY status";
$result13= mysql_query($project13) or die (mysql_error());
while($row= mysql_fetch_array($result13)){
$status=($row["status"]);

if ($status == ('A')){
echo ("<tr><td>A&nbsp;</td><td> As Build</td></tr>");}

if ($status == ('C')){
echo ("<tr><td>C&nbsp;</td><td>Calculatie</td></tr>");}

if ($status == ('D')){
echo ("<tr><td>D&nbsp;</td><td>Definitief</td></tr>");}

if ($status == ('O')){
echo ("<tr><td>O&nbsp;</td><td>Ontwerp</td></tr>");}

if ($status == ('T')){
echo ("<tr><td>T&nbsp;</td><td>Ter Controle</td></tr> ");}

if ($status == ('I')){
echo ("<tr><td>I&nbsp;</td><td>Ter Informatie</td></tr>");}

if ($status == ('V')){
echo ("<tr><td>V&nbsp;</td><td>Voorlopig</td></tr>");}


}
?> </table>
</div> <div id="index_03"><b>Documentsoort</b><br /><table>
<?php
$project14="SELECT DISTINCT(documentsoort) FROM verzendbrief_document WHERE naam_persoon='" . $_SESSION["name"] . "' ORDER BY documentsoort ";
$result14= mysql_query($project14) or die (mysql_error());
while($row= mysql_fetch_array($result14)){
$documentsoort=($row["documentsoort"]);

if ($documentsoort == ('A')){
echo ("<tr><td>A&nbsp;</td><td>Afwerkstaat</td></tr>");}

if ($documentsoort == ('V')){
echo ("<tr><td>B&nbsp;</td><td>Bestek</td></tr>");}

if ($documentsoort == ('Y')){
echo ("<tr><td>Y&nbsp;</td><td>Buigstaat</td></tr>");}

if ($documentsoort == ('R')){
echo ("<tr><td>R&nbsp;</td><td>Rapport</td></tr>");}

if ($documentsoort == ('S')){
echo ("<tr><td>S&nbsp;</td><td>Schema</td></tr>");}

if ($documentsoort == ('T')){
echo ("<tr><td>T&nbsp;</td><td>Tekening</td></tr>");}

if ($documentsoort == ('Vs')){
echo ("<tr><td>Vs&nbsp;</td><td>Verslag</td></tr>");}

if ($documentsoort == ('Vg')){
echo ("<tr><td>Vg&nbsp;</td><td>Vergunning</td></tr>");}

}
?> </table>
</div>
<br /><br /><br /><br /><br /><br /><br /><br /><br />




<table>
<tr>
<td style="font-size:16px;"><b>Tevens verzonden aan:</td><tr>
</table>

</body>
</html>
Ok

Het is mij niet helemaal duidelijk wat er allemaal gebeurt, maar hier een paar tips:

Je hoeft je connectie niet 2 keer te includen ( gebruik require_once )
het genereren van de datum zou ik ook niet iedere keer opnieuw laten doen.

En probeer eerst eens alle data op te halen uit je database. Sla dit steeds op in variabelen en genereer dan in een keer je verzend document.

Dan wordt e.e.a. een stuk leesbaarder.

O ja, zet even je error_reporting() aan.

<?php
// Error reporting Level
error_reporting(E_ALL);
?>

een pagina documentverzendbrief2.php waar de document informatie enz in zit. Hier zitten ook sql queries en vanalles in.


In die verzendbrief2.php gebruik je daar ook weer letterlijk het stukje:

<?php
$query="XXXXXXXXX"; 
$result=mysql_query($query) or die (mysql_error()); 
while ($row= mysql_fetch_array($result)){
?>

?

Immers, als je in verzendbrief2.php weer opnieuw $result en $row gebruikt worden deze natuurlijk overschreven en werkt de regel

<?php
while ($row= mysql_fetch_array($result)){
?>


niet meer.
Iig bedankt voor jullie reacties. Ik zal wat met de tips gaan doen.
Dit is overigens wel de eerste keer dat ik zoiets maak vandaar dat ik ook nog moet leren van mijn eigen fouten en het er niet overal logisch uit zal zien.

btw. De error reporting gaf alleen wat aan dat de sessie al gestart was en dat hij hem negeerde. Verder geen error.

Maar vind het nog steeds dom dat hij het maar 1 x uitvoert die logica snap ik hier niet achter
dat komt waarschijnlijk omdat je op je include pagina ook session_start() doet en als je em include wordt hij dus deel van de andere pagina, dus is die session_start niet nodig op de include page.
ja die heb ik al weggelaten. maar het werkt nog steeds niet

Reageren