include in while loop
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
<br /><br /><br /><br /><br /><br /><br />
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?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");
}
?>
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");
}
?>
Als je het verzenden van de uiteindelijke brief nu eens in een functie plakt, welke de variabelen uit je eerste query accepteerd. Dus bijvoorbeeld:
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
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 ?
Indien dat wel werkt, dan kan het ook wel in je documentverzendbrief2.php zitten..
Ik zal mijn documentverzendbrief2.php hieronder posten.
Excuses voor mijn onduidelijke uitlijning:$
<html>
<head>
<LINK HREF="brief.css" REL="stylesheet" TYPE="text/css">
<title></title>
</head>
<body>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?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");
?>
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"></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">
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?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"]);
}
?>
$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"]);
}
?>
<br /><br />
Onderwerp</b><br />
<b>Project
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?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 ++;
}
}
?>
$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 ++;
}
}
?>
<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>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?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>");
}
?>
$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>
<br />
Met vriendelijke groet,<br />
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?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"]);
}
?>
$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"]);
}
?>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?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"]);
}
?>
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>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?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 </td><td>Ter Controle</td></tr>");}
if ($doel == ('G')){
echo ("<tr><td>G </td><td>Ter Goedkeuring</td></tr>");}
if ($doel == ('B')){
echo ("<tr><td>B </td><td>Ter Behandeling</td></tr>");}
if ($doel == ('Y')){
echo ("<tr><td>I </td><td>Ter Informatie</td></tr>");}
if ($doel == ('U')){
echo ("<tr><td>U </td><td>Voor Uitvoering</td></tr>");}
}
?>
$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 </td><td>Ter Controle</td></tr>");}
if ($doel == ('G')){
echo ("<tr><td>G </td><td>Ter Goedkeuring</td></tr>");}
if ($doel == ('B')){
echo ("<tr><td>B </td><td>Ter Behandeling</td></tr>");}
if ($doel == ('Y')){
echo ("<tr><td>I </td><td>Ter Informatie</td></tr>");}
if ($doel == ('U')){
echo ("<tr><td>U </td><td>Voor Uitvoering</td></tr>");}
}
?>
</div>
<div id="index_02"><b>Documentstatus</b><table>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?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 </td><td> As Build</td></tr>");}
if ($status == ('C')){
echo ("<tr><td>C </td><td>Calculatie</td></tr>");}
if ($status == ('D')){
echo ("<tr><td>D </td><td>Definitief</td></tr>");}
if ($status == ('O')){
echo ("<tr><td>O </td><td>Ontwerp</td></tr>");}
if ($status == ('T')){
echo ("<tr><td>T </td><td>Ter Controle</td></tr> ");}
if ($status == ('I')){
echo ("<tr><td>I </td><td>Ter Informatie</td></tr>");}
if ($status == ('V')){
echo ("<tr><td>V </td><td>Voorlopig</td></tr>");}
}
?>
$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 </td><td> As Build</td></tr>");}
if ($status == ('C')){
echo ("<tr><td>C </td><td>Calculatie</td></tr>");}
if ($status == ('D')){
echo ("<tr><td>D </td><td>Definitief</td></tr>");}
if ($status == ('O')){
echo ("<tr><td>O </td><td>Ontwerp</td></tr>");}
if ($status == ('T')){
echo ("<tr><td>T </td><td>Ter Controle</td></tr> ");}
if ($status == ('I')){
echo ("<tr><td>I </td><td>Ter Informatie</td></tr>");}
if ($status == ('V')){
echo ("<tr><td>V </td><td>Voorlopig</td></tr>");}
}
?>
</div> <div id="index_03"><b>Documentsoort</b><br /><table>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?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 </td><td>Afwerkstaat</td></tr>");}
if ($documentsoort == ('V')){
echo ("<tr><td>B </td><td>Bestek</td></tr>");}
if ($documentsoort == ('Y')){
echo ("<tr><td>Y </td><td>Buigstaat</td></tr>");}
if ($documentsoort == ('R')){
echo ("<tr><td>R </td><td>Rapport</td></tr>");}
if ($documentsoort == ('S')){
echo ("<tr><td>S </td><td>Schema</td></tr>");}
if ($documentsoort == ('T')){
echo ("<tr><td>T </td><td>Tekening</td></tr>");}
if ($documentsoort == ('Vs')){
echo ("<tr><td>Vs </td><td>Verslag</td></tr>");}
if ($documentsoort == ('Vg')){
echo ("<tr><td>Vg </td><td>Vergunning</td></tr>");}
}
?>
$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 </td><td>Afwerkstaat</td></tr>");}
if ($documentsoort == ('V')){
echo ("<tr><td>B </td><td>Bestek</td></tr>");}
if ($documentsoort == ('Y')){
echo ("<tr><td>Y </td><td>Buigstaat</td></tr>");}
if ($documentsoort == ('R')){
echo ("<tr><td>R </td><td>Rapport</td></tr>");}
if ($documentsoort == ('S')){
echo ("<tr><td>S </td><td>Schema</td></tr>");}
if ($documentsoort == ('T')){
echo ("<tr><td>T </td><td>Tekening</td></tr>");}
if ($documentsoort == ('Vs')){
echo ("<tr><td>Vs </td><td>Verslag</td></tr>");}
if ($documentsoort == ('Vg')){
echo ("<tr><td>Vg </td><td>Vergunning</td></tr>");}
}
?>
</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>
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.
Quote:
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:
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$query="XXXXXXXXX";
$result=mysql_query($query) or die (mysql_error());
while ($row= mysql_fetch_array($result)){
?>
$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
niet meer.
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
Begin je scripts altijd met de volgende regels:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL | E_STRICT);
// rest van je script
?>
ini_set('display_errors', 1);
error_reporting(E_ALL | E_STRICT);
// rest van je script
?>
Krijg je foutmeldingen of waarschuwingen, dan ga je keurig 1 voor 1 deze problemen aanpakken en oplossen. In het begin kost het je wat extra tijd, maar je gaat een stuk beter scripten en daardoor minder fouten maken.
Een include in een loop is volkomen zinloos, tig-keer dezelfde code in je script zetten is net zo zinloos:
De waarde van $var zal echt niet anders worden omdat het er nu 5x staat.
In die verzendbrief2.php gebruik je daar ook weer letterlijk het stukje:
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$query="XXXXXXXXX";
$result=mysql_query($query) or die (mysql_error());
while ($row= mysql_fetch_array($result)){
?>
$query="XXXXXXXXX";
$result=mysql_query($query) or die (mysql_error());
while ($row= mysql_fetch_array($result)){
?>
Dit zorgt er dus waarschijnlijk voor dat je script maar 1 keer uitgevoerd wordt. Gebruik andere variabelen ( namen ) voor de queries in je include script.
Dan zal e.e.a. misschien wel netjes 2 keer een document maken.
Ik heb trouwens nog een vraagje die wss voor jullie niet veel voorsteld maar ik begot niet weet wat ik hiermee aanmoet.
Ik d8 het volgende:
alle documenten echoen waarvan de documentcode niet dubbel is.
Ik d8 aan deze code maar daar haalt hij niks mee uit de database???
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$query2="SELECT * FROM documenten WHERE documentcode <> documentcode ORDER BY bedrijf";
echo $query2;
echo("<br><br><br><br>");
$result2= mysql_query($query2) or die (mysql_error());
while ($row2 = mysql_fetch_array($result2)){
?>
$query2="SELECT * FROM documenten WHERE documentcode <> documentcode ORDER BY bedrijf";
echo $query2;
echo("<br><br><br><br>");
$result2= mysql_query($query2) or die (mysql_error());
while ($row2 = mysql_fetch_array($result2)){
?>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
$query2="SELECT DISTINCT(documentcode), bedrijf FROM documenten ORDER BY bedrijf";
$result2= mysql_query($query2) or die (mysql_error());
while ($row2 = mysql_fetch_array($result2))
{
// echo gegevens..
}
?>
$query2="SELECT DISTINCT(documentcode), bedrijf FROM documenten ORDER BY bedrijf";
$result2= mysql_query($query2) or die (mysql_error());
while ($row2 = mysql_fetch_array($result2))
{
// echo gegevens..
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Nils