Empty check

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Als Front-end developer bijdragen aan het onderwij

Functie Als front-end developer om je terecht in een team van goede en ervaren developers, en ga je werken aan de software die door miljoenen mensen gebruikt wordt. Je bent in staat om designs effectief te vertalen naar werkende feautures en hebt oog voor een goede UX van het product. Je staat voor clean code en goede documentatie. Je ziet toegevoegde waarde in het beoordelen van het werk van collega’s om zo samen te streven naar hoge kwaliteit software en code. Je dagelijkse werk bestaat uit het werken aan componenten in de Storybook. Het verbeteren en refactoren van de huidige

Bekijk vacature »

PHP developer

Functie Voor een opdrachtgever in omgeving Leiden zijn wij op zoek naar een PHP developer die affiniteit heeft met C++. Ben jij reeds afgestudeerd of heb je al een paar jaar ervaring? Lees snel verder en kijk of dit iets voor jou is! Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op het gebied van

Bekijk vacature »

Java developer (remote)

Functie Wat ga je doen als Java Developer? Jij als Java ontwikkelaar komt te werken in 1 van onze SCRUM teams. Momenteel werken er zo’n 30 ontwikkelaars binnen onze organisatie waarbij jij de brug slaat tussen het bouwen van verschillende functionaliteiten binnen onze applicaties en deze vervolgens te integreren in onze centrale hub. Je start je dag om 9 uur met een stand up en dan pak je jouw taken op voor de dag. Hieronder een aantal taken die jij zal uitvoeren: – Het bedenken en uitbouwen van features binnen de verschillende applicaties – Onderhouden van CI/CD pipelines – Bezighouden

Bekijk vacature »

Team Lead/ Lead developer gezocht (Hands-on, PHP,

Functie Als Team Lead ben je de leider van één van de ontwikkelteams binnen de organisatie. Je leidt als lead developer een goed draaiend team dat werkt aan complexe en duurzame applicaties en API’s. Vanuit je kennis en ervaring ben je in staat het grote plaatje te blijven overzien, en kritisch mee te denken over bijvoorbeeld de architectuur, maar ook de algehele aanpak binnen het project. Je laat je team niet alleen technisch goed functioneren maar ben ook betrokken bij het menselijke aspect. Zo weet jij je collega’s te motiveren en begeleiden in hun dagelijkse werk. Buiten het team ben

Bekijk vacature »

Java Developer

Dit ga je doen Als Java Developer ben je verantwoordelijk voor: Het ontwikkelen van nieuwe en bestaande webservices; Het uitbreiden van functionaliteiten binnen de producten- en dienstenportefeuille; Het werken aan gegevensuitwisseling met bijvoorbeeld SOAP; Testen van frameworks met gebruik van UNIT en Selenium. Hier ga je werken De organisatie waar je komt te werken is een semi-overheidsinstelling, gesitueerd in Utrecht en zorgt voor een goede samenwerking tussen verschillende overheidsinstanties. Het is een familiaire club die gaat voor kwaliteit en langdurige relaties. Zo zorgen zij ervoor dat er op grote schaal vertrouwelijke informatie tussen verschillende overheidsinstellingen wordt uitgewisseld. Hun werk zorgt

Bekijk vacature »

Front-end Developer - React - Data Driven

Bedrijfsomschrijving Onze klant is een snelgroeiende organisatie die een data-driven inspectieapp op de markt hebben gebracht die nu al een aantal jaar door verschillende organisaties wereldwijd gebruikt wordt. Er zijn zo'n 6 mensen werkzaam bij dit bedrijf en ze zijn nu vooral op zoek naar een sterke front-end developer die wil gaan werken aan nieuwbouw applicaties en de uitbouw van de huidige applicaties. De reden dat ze zoeken is omdat er veel werk op komst is en ze hier de juiste capaciteit voor willen hebben. Er heerst hier een hele prettige sfeer waarin respect en eerlijke communicatie belangrijk is. Ook

Bekijk vacature »

Java developer - procesoptimalisatie (Inhouse)

Functie Wat ga je doen als Java developer? Jij als back end developer hebt al enige ervaring opgedaan in jouw vakgebied. Voornamelijk het werken met Java en Spring spreekt jou aan. Jij wordt samen met je collega developers in het team verantwoordelijk voor de gehele back end van de applicatie. Hierdoor heb jij veel zelfstandigheid in je rol en zul je ook zelf beslissingen samen met de PO maken. Er wordt gewerkt volgens de SCRUM methodiek, om zo structuur te creëren in de werkzaamheden. Binnen de 2-wekelijkse sprints pak jij je taken op die samen met de PO afgestemd zijn.

Bekijk vacature »

C# .NET Developer

Functie omschrijving Wij zijn op zoek naar een C# .NET Developer voor een bedrijf in de omgeving van Utrecht! Wil jij werken voor een internationaal bedrijf waar je legio mogelijkheden krijgt als Software Ontwikkelaar? Grijp nu je kans! Je kunt een uitdagende rol gaan vervullen als C#.NET Developer binnen een internationaal bedrijf dat gevestigd is in omgeving van Utrecht. Je zult gaan samenwerken met collega's die over de hele wereld verspreid zitten. Dit bedrijf is zeer vooruitstrevend en werkt met de nieuwste technieken. Als C#.NET Developer ga jij je bezig houden met het volgende: Je blijft op de hoogte van

Bekijk vacature »

Mendix Consultant / Developer

Dit ga je doen Het in kaart brengen en analyseren van de functionele wensen van de klant rondom Mendix applicaties; Het fungeren als sparringpartner voor de (interne) klanten; Het opstellen van requirements en het vertalen hiervan naar technische mogelijkheden; Het opstellen van user stories; Het bouwen van de Mendix applicaties in samenwerking met jouw team of zelfstandig; Het testen van op te leveren software en het zorg dragen voor de implementatie; Trainen van gebruikers in het gebruik van de applicatie; Werken in een Agile omgeving. Hier ga je werken De organisatie begeeft zich in de retail branche en focust zich

Bekijk vacature »

PHP Developer (junior functie)

Functie omschrijving Wij zijn op zoek naar een PHP Developer! Ben jij een starter en wil je werken bij een jong en leuk bedrijf? Lees dan verder! Wij zijn op zoek naar een PHP Developer binnen een junior functie. Binnen dit bedrijf gaat het om persoonlijke aandacht en ontwikkeling! Je komt te werken voor een leuk communicatiebureau die alles op het gebied van online en offline communicatie doet. Dit doen zij voor verschillende branches, waardoor je aan diverse soorten projecten mag werken, dit maakt deze baan erg leuk! Daarbij werk je aan een door hun zelf ontwikkeld framework welke goed

Bekijk vacature »

SQL ontwikkelaar

Functieomschrijving Voor een gave werkgever in regio Breda zijn wij per direct op zoek naar een SQL ontwikkelaar/ functioneel consultant. Hier wordt jij mede verantwoordelijk voor zowel de design en implementatie van SQL-databases als voor het verstaan van de processen van klanten naar het vertalen van deze processen naar IT-oplossingen. Jouw takenpakket komt als volgt uit te zien: Je test de ontwikkelde oplossingen om er zeker van te zijn dat deze voldoen aan de functionele specificaties en de behoeften van de organisatie; Je ontwerpt, ontwikkelt en implementeert SQL-databases om de data behoeften van de organisatie te ondersteunen; Je stelt op

Bekijk vacature »

.NET Developer

Functie omschrijving Jij gaat in de functie van Software Developer werken met C# en .NET framework. Jij gaat maatwerk software ontwikkelen en softwareoplossingen creëren. Daarnaast optimaliseer je de bestaande software. Oplossingen waar de klant echt iets aan heeft, jij krijgt er energie van op dit te realiseren. Je gaat werken in een Microsoft omgeving(ASP.NET) en gebruikt daarnaast C# en MVC. Samen met het huidige IT team binnen deze organisatie verwerk je de wensen van de klant tot een (eind)product. Bedrijfsprofiel Je komt te werken in een klein team van developers, die zich voornamelijk bezighouden met back-end development. Verder staat dit

Bekijk vacature »

IT Infrastructuur Developer

IT Infrastructuur Developer Ben jij (bijna) klaar met je HBO studie in de richting van IT? Opzoek naar een spannende eerste baan, waar je ontzettend veel kan leren? Dan hebben wij de ultieme job voor jou! Voor een goede klant van ons in de financiële dienstverlening zijn wij opzoek naar een Junior Infrastructure Developer. Deze baan is een mooie kans om een sterke start te geven aan jouw carrière binnen de IT! De job Je werkt nauw samen met het Devops team, en zal je voornamelijk bezighouden met het automatiseren van infrastructure componenten. De componenten worden opgevraagd door het DevOps

Bekijk vacature »

Python (Django) developer - Remote in The Netherla

Functie Together with your team, consisting of a senior, 2 mediors and one junior developer, you will work on their software in an Agile-based approach. You have an eye for quality, risk, and customer interest. Communication with your colleagues and, where necessary, with customers, plays an important role in achieving a successful result. As a person, you are smart, get things done, and are result-oriented. There is a lot of independence within the development team, apart from the stand-up (10:00 am) and occasional pair-programming sessions. Techniques they use include Python, Django, MySQL, Mercurial, Ubuntu Linux, Nginx. In terms of front-end

Bekijk vacature »

PHP Developer

Functie omschrijving Voor een bedrijf in Den Bosch zoek ik een PHP Developer, die al wat werkervaring heeft. Jij gaat aan de slag met de verdere professionalisering van de interne applicaties en software. In de functie ga je verder: Verdere ontwikkeling eigen CRM systeem, vooral middels PHP; Bouwen van verschillende API's & koppelingen; Meedenken om de software/applicaties te verbeteren/optimaliseren; Aan de slag met de interne tooling. Bedrijfsprofiel Dit bedrijf is actief binnen de telecombranche. Het hoofdkantoor zit in regio van Den Bosch en er werken ruim 70 medewerkers, verdeeld over verschillende afdelingen. De afdeling Development bestaat uit vijf collega's, onder

Bekijk vacature »
Thierry  Vredeveld

Thierry Vredeveld

25/10/2010 20:16:26
Quote Anchor link
Hallo iedereen, ik ben net nieuw op het forum en begin net met php, dus hoop dat dit ik dit topic op de goeie plek post.

Ik ben bezig om een factuur systeem te maken, waarin je naam, bedrijfsnaam en adres kunt invullen, en hij deze waardes kopieert naar een pdf bestand.

Dat is mij al gelukt, echter is het ook mogelijk om werkzaamheden,kosten en aantal toe te voegen.

Nu wil ik dat, mijn script alleen de velden kopieer naar de pdf, waar ook daadwerkelijk iets ingevuld is. Zodat ik geen witregels in mijn pdf krijg.

Hoop dat ik het zo goed mogelijk heb omschreven en dat iemand mij even op weg kan helpen, alvast bedankt!

Groeten, Thierry
 
PHP hulp

PHP hulp

18/12/2024 08:52:58
 
Pim -

Pim -

25/10/2010 20:20:59
Quote Anchor link
Kan je de code geven waarmee je de velden in de PDF zet?

Een leeg-check:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
function isEmpty($val)
{

    return $val === '';
}

?>

Niet empty() gebruiken, want 0 is dan ook leeg
 
Thierry  Vredeveld

Thierry Vredeveld

25/10/2010 20:24:11
Quote Anchor link
Dat kan ik wel :), ik heb alleen paar aanpassingen gedaan hoor.
Het script waar hij alles naar pdf kopieert, komt ergens anders vandaan.

Alvast bedankt!


Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
<?php
require_once('tcpdf/config/lang/eng.php');
require_once('tcpdf/tcpdf.php');
// variables
$bedrijfsnaam = $_POST["bedrijfsnaam"];
$naam = $_POST["naam"];
$adres = $_POST["adres"];
$postcode = $_POST["postcode"];
$plaats = $_POST["plaats"];
$refNummer = $_POST["refNummer"];

//arrays
$product[0] = $_POST["product[0]"];
$product[1] = $_POST["product[1]"];
$product[2] = $_POST["product[2]"];
$product[3] = $_POST["product[3]"];
$product[4] = $_POST["product[4]"];
$product[5] = $_POST["product[5]"];
$product[6] = $_POST["product[6]"];
$product[7] = $_POST["product[7]"];
$product[8] = $_POST["product[8]"];
$product[9] = $_POST["product[9]"];
$product[10] = $_POST["product[10]"];
$product[11] = $_POST["product[11]"];
$product[12] = $_POST["product[12]"];
$product[13] = $_POST["product[13]"];
$product[14] = $_POST["product[14]"];
$product[15] = $_POST["product[15]"];
$product[16] = $_POST["product[16]"];
$product[17] = $_POST["product[17]"];
$product[18] = $_POST["product[18]"];
$product[19] = $_POST["product[19]"];
$product[20] = $_POST["product[20]"];
$product[21] = $_POST["product[21]"];
$product[22] = $_POST["product[22]"];
$product[23] = $_POST["product[23]"];
$product[24] = $_POST["product[24]"];
$product[25] = $_POST["product[25]"];
$product[26] = $_POST["product[26]"];
$product[27] = $_POST["product[27]"];
$product[28] = $_POST["product[28]"];
$product[29] = $_POST["product[29]"];

$aantal[0] = $_POST["aantal[0]"];
$aantal[1] = $_POST["aantal[1]"];
$aantal[2] = $_POST["aantal[2]"];
$aantal[3] = $_POST["aantal[3]"];
$aantal[4] = $_POST["aantal[4]"];
$aantal[5] = $_POST["aantal[5]"];
$aantal[6] = $_POST["aantal[6]"];
$aantal[7] = $_POST["aantal[7]"];
$aantal[8] = $_POST["aantal[8]"];
$aantal[9] = $_POST["aantal[9]"];
$aantal[10] = $_POST["aantal[10]"];
$aantal[11] = $_POST["aantal[11]"];
$aantal[12] = $_POST["aantal[12]"];
$aantal[13] = $_POST["aantal[13]"];
$aantal[14] = $_POST["aantal[14]"];
$aantal[15] = $_POST["aantal[15]"];
$aantal[16] = $_POST["aantal[16]"];
$aantal[17] = $_POST["aantal[17]"];
$aantal[18] = $_POST["aantal[18]"];
$aantal[19] = $_POST["aantal[19]"];
$aantal[20] = $_POST["aantal[20]"];
$aantal[21] = $_POST["aantal[21]"];
$aantal[22] = $_POST["aantal[22]"];
$aantal[23] = $_POST["aantal[23]"];
$aantal[24] = $_POST["aantal[24]"];
$aantal[25] = $_POST["aantal[25]"];
$aantal[26] = $_POST["aantal[26]"];
$aantal[27] = $_POST["aantal[27]"];
$aantal[28] = $_POST["aantal[28]"];
$aantal[29] = $_POST["aantal[29]"];

$prijs[0] = $_POST["prijs[0]"];
$prijs[1] = $_POST["prijs[1]"];
$prijs[2] = $_POST["prijs[2]"];
$prijs[3] = $_POST["prijs[3]"];
$prijs[4] = $_POST["prijs[4]"];
$prijs[5] = $_POST["prijs[5]"];
$prijs[6] = $_POST["prijs[6]"];
$prijs[7] = $_POST["prijs[7]"];
$prijs[8] = $_POST["prijs[8]"];
$prijs[9] = $_POST["prijs[9]"];
$prijs[10] = $_POST["prijs[10]"];
$prijs[11] = $_POST["prijs[11]"];
$prijs[12] = $_POST["prijs[12]"];
$prijs[13] = $_POST["prijs[13]"];
$prijs[14] = $_POST["prijs[14]"];
$prijs[15] = $_POST["prijs[15]"];
$prijs[16] = $_POST["prijs[16]"];
$prijs[17] = $_POST["prijs[17]"];
$prijs[18] = $_POST["prijs[18]"];
$prijs[19] = $_POST["prijs[19]"];
$prijs[20] = $_POST["prijs[20]"];
$prijs[21] = $_POST["prijs[21]"];
$prijs[22] = $_POST["prijs[22]"];
$prijs[23] = $_POST["prijs[23]"];
$prijs[24] = $_POST["prijs[24]"];
$prijs[25] = $_POST["prijs[25]"];
$prijs[26] = $_POST["prijs[26]"];
$prijs[27] = $_POST["prijs[27]"];
$prijs[28] = $_POST["prijs[28]"];
$prijs[29] = $_POST["prijs[29]"];


class MYPDF extends TCPDF {
    public function Header() {
        $this->setJPEGQuality(90);
        $this->Image('logo.png', 120, 10, 75, 0, 'PNG', 'adres van het logo(logo verplicht) zonder www&http');
 
    }

    public function Footer() {
        $this->SetY(-15);
        $this->SetFont(PDF_FONT_NAME_MAIN, 'I', 8);
        $this->Cell(0, 10, '©2010 innovative-webdesign.nl', 0, false, 'C');
    }

    public function CreateTextBox($textval, $x = 0, $y, $width = 0, $height = 10, $fontsize = 10, $fontstyle = '', $align = 'L') {
        $this->SetXY($x+20, $y); // 20 = margin left
        $this->SetFont(PDF_FONT_NAME_MAIN, $fontstyle, $fontsize);
        $this->Cell($width, $height, $textval, 0, false, $align);
    }
}


// create a PDF object
$pdf = new MYPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
 
// set document (meta) information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Henk Schepers');
$pdf->SetTitle('Facturatiescript v0.22 pre pre-beta');
 
// add a page
$pdf->AddPage();
 
// create address box
$pdf->CreateTextBox($bedrijfsnaam, 0, 55, 80, 10, 10, 'B');
$pdf->CreateTextBox($naam, 0, 60, 80, 10, 10);
$pdf->CreateTextBox($adres, 0, 65, 80, 10, 10);
$pdf->CreateTextBox($postcode . $plaats, 0, 70, 80, 10, 10);
 
// invoice title / number
$pdf->CreateTextBox('Factuur #1337', 0, 90, 120, 20, 16);
 
// date, order ref
$pdf->CreateTextBox('Datum: '.date('Y-m-d'), 0, 100, 0, 10, 10, '', 'R');
$pdf->CreateTextBox('ref.: #2674', 0, 105, 0, 10, 10, '', 'R');

// list headers

$pdf->CreateTextBox('Aantal', 0, 120, 20, 10, 10, 'B', 'C');
$pdf->CreateTextBox('Product(en) en\of Services', 20, 120, 90, 10, 10, 'B');
$pdf->CreateTextBox('Prijs', 110, 120, 30, 10, 10, 'B', 'R');
$pdf->CreateTextBox('Bedrag', 140, 120, 30, 10, 10, 'B', 'R');
 
$pdf->Line(20, 129, 195, 129);
 
// some example data
$orders[] = array('quant' => 1, 'descr' => 'Facturatiesysteem', 'price' => 75);
$orders[] = array('quant' => 40, 'descr' => 'Uurloon', 'price' => 10.45);
$orders[] = array('quant' => 3, 'descr' => 'Garantie eventuele fouten\bugs 1jaar', 'price' => 9.95);
 
$currY = 128;
$total = 0;
foreach ($orders as $row) {
    $pdf->CreateTextBox($row['quant'], 0, $currY, 20, 10, 10, '', 'C');
    $pdf->CreateTextBox($row['descr'], 20, $currY, 90, 10, 10, '');
    $pdf->CreateTextBox('€'.$row['price'], 110, $currY, 30, 10, 10, '', 'R');
    $amount = $row['quant']*$row['price'];
    $pdf->CreateTextBox('€'.$amount, 140, $currY, 30, 10, 10, '', 'R');
    $currY = $currY+5;
    $total = $total+$amount;
}

$pdf->Line(20, $currY+4, 195, $currY+4);

// output the total row
$pdf->CreateTextBox('Totaal', 20, $currY+5, 135, 10, 10, 'B', 'R');
$pdf->CreateTextBox('€'.number_format($total, 2, '.', ''), 140, $currY+5, 30, 10, 10, 'B', 'R');
 
// some payment instructions or information
$pdf->setXY(20, $currY+30);
$pdf->SetFont(PDF_FONT_NAME_MAIN, '', 10);
$pdf->MultiCell(175, 10, '<em>Gelieve het bovengenoemde totaalbedrag binnen 10 dagen over te maken op rekening nummer 0000000
(Rabobank) t.n.v. innovative-webdesign, onder vermelding van het factuurnummer</em>. <br />'
, 0, 'L', 0, 1, '', '', true, null, true);
 
//Close and output PDF document
$pdf->Output('wip.pdf', 'F');
[
/code]
 
SilverWolf NL

SilverWolf NL

25/10/2010 21:46:59
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?PHP
$product
[0] = $_POST["product[0]"];
...

$product[29] = $_POST["product[29]"];

$aantal[0] = $_POST["aantal[0]"];
...

$aantal[29] = $_POST["aantal[29]"];

$prijs[0] = $_POST["prijs[0]"];
...

$prijs[29] = $_POST["prijs[29]"];
?>


Werkt dit niet gewoon?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?PHP
$product
=$_POST["product"];
$aantal=$_POST["aantal"];
$prijs=$_POST["prijs"];
?>
 
Thierry  Vredeveld

Thierry Vredeveld

25/10/2010 21:48:24
Quote Anchor link
Maar als ik hem dan $prijs en $product en $aantal dan door laat geven aan de pdf, geeft ie dat ook niet alle lege velden mee?
 
Pim -

Pim -

25/10/2010 22:02:10
Quote Anchor link
Doet hij nu ook hoor.
En als je van de names van de velden 'orders[n][price]', 'orders[n][quant]' en 'orders[n][descr]', met n als 'hoeveelste', heb je meteen de array in elkaar zoals je die later ook gebruikt.

Welk van de drie wil je op leegheid testen?
Stel dat dat aantal/quant is, gebruik dan het volgende:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$orders
= array_filter($orders,
     function(
$item) {
        return (ctype_digit($item['quant']) && $item['quant'] !== 0);
    }
);

?>

Deze haalt alle items weg die geen getal zijn of 0
Gewijzigd op 25/10/2010 22:02:49 door Pim -
 
Thierry  Vredeveld

Thierry Vredeveld

26/10/2010 17:39:49
Quote Anchor link
Ik moet ze allemaal op leeg checken :)

ik snap die functie die je gemaakt hebt wel redelijk, alleen snap ik deze zin niet helemaal:
En als je van de names van de velden 'orders[n][price]', 'orders[n][quant]' en 'orders[n][descr]', met n als 'hoeveelste', heb je meteen de array in elkaar zoals je die later ook gebruikt.

sorry :p
Gewijzigd op 26/10/2010 17:40:01 door Thierry Vredeveld
 
Arjan -

Arjan -

26/10/2010 17:45:59
Quote Anchor link
Als je een formulier hebt kan je het volgende doen:

<input type="text" name="product[]" value="" />
<input type="text" name="product[]" value="" />
<input type="text" name="product[]" value="" />
<input type="text" name="product[]" value="" />
<input type="text" name="product[]" value="" />
<input type="text" name="product[]" value="" />

Je ziet bij de naam "product[]" staan. Hiermee geef je aan dat je na je request een array terug wilt krijgen met daarin, in dit geval, 6 keys (van 0 t/m 5) met elk hun eigen waarde.

Dus als je dan dit doet:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {

echo '<pre>';
print_r($_POST['product']);
echo '</pre>';

}

?>


zal je zien dat je een array geprint krijgt met de ingevoerde waarden.

Omdat in dit geval $_POST['product'] een array is, kan je met een foreach door de array wandelen en controleren of de waarden zijn ingevuld, dus zo:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
foreach($_POST['product'] AS $key => $value) {

if(trim($value) != '')
echo $key.' is niet ingevuld';

}

?>


(wel even controleren of $_POST['product'] wel echt een array is en of die wel één of meerdere waarden bevatten (want een foreach gaat in de fout als ie niet kan loopen))
Gewijzigd op 26/10/2010 17:50:33 door Arjan -
 
Pim -

Pim -

26/10/2010 17:48:09
Quote Anchor link
Dus als je van het eerste item van het prijs veld de naam 'orders[0][price]' maakt, bij de hoeveelheid 'orders[0][quant]' en bij de beschrijving 'orders[0][descr]'. Voor het tweede item vervang je de 0 voor een 1, voor het derde item de 0 voor een 2 enz.

Als ze alle niet leeg mogen zijn, wordt de filter zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$orders
= array_filter($_POST['orders'],
     function(
$item) {
        return (
        ctype_digit($item['quant']) &&
        $item['quant'] !== '0' &&

        $item['price'] !== '' &&

        $item['descr'] !== ''
    );
    }
);

?>

Array filter heelt dus de items weg, waarbij de functie true geeft. Die functie (een Closure in dit geval) controleert dus of de hoeveelheid een nummer is en niet nul en of de prijs en beschrijving velden niet leeg zijn.
 
Thierry  Vredeveld

Thierry Vredeveld

26/10/2010 17:50:21
Quote Anchor link
Ja zo word het al stuk duidelijker :D

Kan het nu niet toepassen, maar ga het zometeen sowieso proberen, bedankt alvast!
 
Arjan -

Arjan -

26/10/2010 17:53:14
Quote Anchor link
En toch is dit erg omslachtig. Je wilt gewoon rechtstreeks een array terug krijgen uit je request lijkt mij. Je moet nu alle getallen handmatig invoeren.

Je kan toch veel beter zoiets doen:

<input type="text" name="product[]" value="" />
<input type="text" name="price[]" value="" />
<input type="text" name="descr[]" value="" />

<input type="text" name="product[]" value="" />
<input type="text" name="price[]" value="" />
<input type="text" name="descr[]" value="" />

<input type="text" name="product[]" value="" />
<input type="text" name="price[]" value="" />
<input type="text" name="descr[]" value="" />

<input type="text" name="product[]" value="" />
<input type="text" name="price[]" value="" />
<input type="text" name="descr[]" value="" />

Zo krijg je dus bij elkaar horende keys in zowel product, price en descr en zit je niet te kloten met alle getallen handmatig invoeren.

Edit: Eigenlijk dus hetgeen wat SilverWolf NL al aan het begin aangaf. Het gaat er om dat je die onhandige $product[0] = $_POST['product[0]']; kwijt bent, want dat is zeer omslachtig. Daarna kan je heel simpel alles doen met de arrays wat je wilt.
Gewijzigd op 26/10/2010 17:58:59 door Arjan -
 
Pim -

Pim -

26/10/2010 18:21:51
Quote Anchor link
Ja dit is idd wel wat makkelijker, hoewel de velden waarschijnlijk toch dynamisch gemaakt worden.

Dan wordt de code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$count
= (isset($_POST['descr']) && is_array($_POST['descr'])) ? count($_POST['descr']) : 0;
$orders = array();
for($i = 0; $i < $count; ++$i) {
    if (ctype_digit($_POST['quant'][$i]) &&
        $_POST['quant'][$i] !== '0' &&
        $_POST['price'][$i] !== '' &&
        $_POST['descr'][$i] !== ''
    )
        $orders[] = array(
            'quant' => $_POST['quant'][$i],
            'price' => $_POST['price'][$i],
            'descr' => $_POST['descr'][$i],
        );
}


print_r($orders);
?>

Fouten worden zo genegeerd. Als ze ze bij wil houden, moet je de if splitsen en een array met de fouten vullen.
Gewijzigd op 26/10/2010 18:23:44 door Pim -
 
Thierry  Vredeveld

Thierry Vredeveld

26/10/2010 21:02:20
Quote Anchor link
Ok dit is nu mijn code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
<?php
require_once('tcpdf/config/lang/eng.php');
require_once('tcpdf/tcpdf.php');
// variables
$bedrijfsnaam = $_POST["bedrijfsnaam"];
$naam = $_POST["naam"];
$adres = $_POST["adres"];
$postcode = $_POST["postcode"];
$plaats = $_POST["plaats"];
$refNummer = $_POST["refNummer"];
$descr = $_POST["descr"];
$quant = $_POST["quant"];
$price = $_POST["price"];


class MYPDF extends TCPDF {
    public function Header() {
        $this->setJPEGQuality(90);
        $this->Image('logo.png', 120, 10, 75, 0, 'PNG', 'adres van het logo(logo verplicht) zonder www&http');
 
    }

    public function Footer() {
        $this->SetY(-15);
        $this->SetFont(PDF_FONT_NAME_MAIN, 'I', 8);
        $this->Cell(0, 10, '©2010 innovative-webdesign.nl', 0, false, 'C');
    }

    public function CreateTextBox($textval, $x = 0, $y, $width = 0, $height = 10, $fontsize = 10, $fontstyle = '', $align = 'L') {
        $this->SetXY($x+20, $y); // 20 = margin left
        $this->SetFont(PDF_FONT_NAME_MAIN, $fontstyle, $fontsize);
        $this->Cell($width, $height, $textval, 0, false, $align);
    }
}


// create a PDF object
$pdf = new MYPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
 
// set document (meta) information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Henk Schepers');
$pdf->SetTitle('Facturatiescript v0.22 pre pre-beta');
 
// add a page
$pdf->AddPage();
 
// create address box
$pdf->CreateTextBox($bedrijfsnaam, 0, 55, 80, 10, 10, 'B');
$pdf->CreateTextBox($naam, 0, 60, 80, 10, 10);
$pdf->CreateTextBox($adres, 0, 65, 80, 10, 10);
$pdf->CreateTextBox($postcode . $plaats, 0, 70, 80, 10, 10);
 
// invoice title / number
$pdf->CreateTextBox('Factuur #1337', 0, 90, 120, 20, 16);
 
// date, order ref
$pdf->CreateTextBox('Datum: '.date('Y-m-d'), 0, 100, 0, 10, 10, '', 'R');
$pdf->CreateTextBox('ref.: #2674', 0, 105, 0, 10, 10, '', 'R');

// list headers
$pdf->CreateTextBox('Aantal', 0, 120, 20, 10, 10, 'B', 'C');
$pdf->CreateTextBox('Product(en) en\of Services', 20, 120, 90, 10, 10, 'B');
$pdf->CreateTextBox('Prijs', 110, 120, 30, 10, 10, 'B', 'R');
$pdf->CreateTextBox('Bedrag', 140, 120, 30, 10, 10, 'B', 'R');
 
$pdf->Line(20, 129, 195, 129);
 
// some example data
$count = (isset($_POST['descr']) && is_array($_POST['descr'])) ? count($_POST['descr']) : 0;
$orders = array();
for($i = 0; $i < $count; ++$i)
{

    if (ctype_digit($_POST['quant'][$i]) &&
        $_POST['quant'][$i] !== '0' &&
        $_POST['price'][$i] !== '' &&
        $_POST['descr'][$i] !== ''
    )
        $orders[] = array(
            'quant' => $_POST['quant'][$i],
            'price' => $_POST['price'][$i],
            'descr' => $_POST['descr'][$i],
        );
}


print_r($orders);
 
$currY = 128;
$total = 0;
foreach ($orders as $row) {
    $pdf->CreateTextBox($row['quant'], 0, $currY, 20, 10, 10, '', 'C');
    $pdf->CreateTextBox($row['descr'], 20, $currY, 90, 10, 10, '');
    $pdf->CreateTextBox('€'.$row['price'], 110, $currY, 30, 10, 10, '', 'R');
    $amount = $row['quant']*$row['price'];
    $pdf->CreateTextBox('€'.$amount, 140, $currY, 30, 10, 10, '', 'R');
    $currY = $currY+5;
    $total = $total+$amount;
}

$pdf->Line(20, $currY+4, 195, $currY+4);

// output the total row
$pdf->CreateTextBox('Totaal', 20, $currY+5, 135, 10, 10, 'B', 'R');
$pdf->CreateTextBox('€'.number_format($total, 2, '.', ''), 140, $currY+5, 30, 10, 10, 'B', 'R');
 
// some payment instructions or information
$pdf->setXY(20, $currY+30);
$pdf->SetFont(PDF_FONT_NAME_MAIN, '', 10);
$pdf->MultiCell(175, 10, '<em>Gelieve het bovengenoemde totaalbedrag binnen 10 dagen over te maken op rekening nummer 0000000
(Rabobank) t.n.v. innovative-webdesign, onder vermelding van het factuurnummer</em>. <br />'
, 0, 'L', 0, 1, '', '', true, null, true);
 
//Close and output PDF document
$pdf->Output('wip.pdf', 'F');
[
/code]

Maar ik krijg niks te zien in mijn pdf, heb ik iets fout?
Gewijzigd op 26/10/2010 23:39:12 door Thierry Vredeveld
 

06/11/2010 16:27:44
Quote Anchor link
Heeft iemand hier nog een toevoeging aan? Ik ben samen met Thierry aan dit script bezig, alleen het posten van die producten werkt nog niet..
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.