Aanvinkvakje voor getoonde artikelen
Murtada Helo op 15/08/2012 09:22:08:
Klopt dan deze hidden niet?
Code (php)
1
2
3
2
3
<?php
print '<td align="left"><input type="hidden" name="land" value="'.$verzamelfoutformulier->artnr.'" /></td>';
?>
print '<td align="left"><input type="hidden" name="land" value="'.$verzamelfoutformulier->artnr.'" /></td>';
?>
Hier koppel je dus het artikelnummer aan de naam land he!?
Heb nagevraagd over zoeken op basis van artkielnummers. Dit gaat niet want een artikel kan door meerder klanten gekozen zijn. Ritnummer is hier uniek en op basis van dit nummer kun je klant kiezen en het artikel dat door deze klant is besteld ook selecteren
Want je kunt natuurlijk gewoon een artikel opslaan als een bepaalde klant deze ooit eens gekozen heeft, en zo dus een statement maken dat hij alle artikelen selecteerd waar het klant_id aan gekoppeld is.
Dat lijkt me stukken handiger dan 3 tot 4 verschillende id's gebruiken.
array(2) { ["check"]=> array(3) { [0]=> string(45) "960008........8" [1]=> string(44) "960014......4" [2]=> string(44) "960016....2" } ["submit"]=> string(16) "Kies een artikel" }
Chris NVT op 15/08/2012 09:27:16:
Hier koppel je dus het artikelnummer aan de naam land he!?
Murtada Helo op 15/08/2012 09:22:08:
Klopt dan deze hidden niet?
Code (php)
1
2
3
2
3
<?php
print '<td align="left"><input type="hidden" name="land" value="'.$verzamelfoutformulier->artnr.'" /></td>';
?>
print '<td align="left"><input type="hidden" name="land" value="'.$verzamelfoutformulier->artnr.'" /></td>';
?>
Hier koppel je dus het artikelnummer aan de naam land he!?
Precies, waarom prop je nu het artikelnummer daar nu in? Ik dacht dat we er al achter waren dat je dat al hebt, maar dat je de waardes van $_POST["land"] en $_POST["ordernr"] nodig had om die artikelen op te halen van de webservice.... zou het dan niet verstandig zijn om DIE in hidden inputs te verwerken?
Toevoeging op 15/08/2012 10:13:13:
Zonder hidden input krijg nu bij var_dump($_POST); dit te zien
array(2) { ["check"]=> array(3) { [0]=> string(45) "960008........8" [1]=> string(44) "960014......4" [2]=> string(44) "960016....2" } ["submit"]=> string(16) "Kies een artikel" }
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
hoe kan ik deze scripten? om deze in tabel te gooien
dus ik begrijp dat hidden input niet meer nodig is.
zonder webservice aan te roepen
de enige wat ik nu niet mee krijg is klantgegevens.
Want je kunt het een hoop reduceren en stukken makkelijker maken. Aangezien we nu in principe 3 pagina's en 3 dagen verder zijn, terwijl we eigenlijk nog op het zelfde punt hangen.
Zoals ik je al eerder uitlegde (waarschijnlijk heb je het niet gelezen).
Je kunt een artikel koppelen aan een klant_id wanneer deze ooit eens besteld is. Dus als hij 10x een toetsenbord besteld heeft, staat er 10x een artikel toetsenbord in met een klant_id.
Dus dat scheelt een hoop aan verschillende id's en tabellen. Het maakt je queries en loops stukken eenvoudiger. Tevens kun je gewoon het aantal geretouneerde records ophalen met mysql_num_rows();, en dus dat resultaat declareren aan $ritnummers.
Werkt stukken makkelijker, sneller en eenvoudiger.
Kan iemand nog antwoord gegeven op de laatste vraag?
Alvast bedankt!
Dan haak ik bij deze af, hopelijk kan iemand anders je nog verder helpen.
Murtada, schrijf nu eens heel duidelijk, onder elkaar op welke gegevens je allemaal nodig hebt op de tweede pagina en waar je die vandaan moet gaan halen. Bedenk daarbij, ALLE gegevens die je nodig hebt moet je zelf op de een of andere manier meesturen, of ophalen. Je kan NIET gegevens gebruiken van een andere pagina.
De richting waar je nu in gaat is namelijk een doodlopende straat.
Gewijzigd op 15/08/2012 11:09:49 door Erwin H
Erwin H op 15/08/2012 11:09:33:
De richting waar je nu in gaat is namelijk een doodlopende straat.
Mee eens, we hangen al 2 pagina's vast op dit stuk, en het wordt steeds onduidelijker wat hij nu precies wil.
ik type in een invoer veld een ritnummer en in tweede veld de land code
Krijg de volgende op de zelfde pagina:
twee tabellen
1. klantgegevens
- klantnummer
- klantnaam
- Afleveradres
- postcode
- plaats
- land
2- artikelgegevens
- artikelnummer
- artikelomschrijving
- het aantal artikelen
Deze gegevens worden via webservice van een database opgehaald
Bij artikelgegevens tabel zit een vinkje (checkbox) om een artikel te kiezen.
met de knop (kies een artikel)
Als ik op deze knop (kies een artikel) klik wil graag dat de aangevinkte artikel samen met klant gegevens op de volgende pagina zien dus precies de inhoud van eerste pagina op de 2e pagina zien behalve de artikelen die niet geselecteerd zijn.
De eerste pagina is geschreven als volgt:
Code (php)
<html>
<body>
<form action="#" method="post">
Ritnummer: <input type="text" name="ordernr" />
Filiaal: <SELECT NAME="land"><OPTION VALUE="land">Kies een filiaal</OPTION><OPTION>00</OPTION><OPTION>05</OPTION>
</SELECT>
<input type="submit" value="Volgende"/>
</form>
</body>
</html>
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
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
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
<?php
if( $_SERVER['REQUEST_METHOD'] == "POST" ) {
ini_set("soap.wsdl_cache_enabled", 0);
$webservice_server = "";
$webservice_connection_string = "";
$client = new SoapClient( $webservice_connection_string, array( 'soap_version' => SOAP_1_1 ) );
$ritnummers = $client->verzamelfoutformulier($_POST["land"], $_POST["ordernr"]);
foreach ($ritnummers as $verzamelfoutformulier){
}
print '<table cellspacing="1" cellpadding="2" width="50%" bgcolor="#cccccc">';
print '<tr>';
print '<caption><H2>Klantgegevens</H2></caption> ';
print '</tr>';
print '<tr><td>Klantnummer:</td>';
print '<td align="left">'.$ritnummers["klantgegevens"][0]->klantnr.'</td><br>';
print '</td></tr>';
print '<tr><td>Klantnaam:</td>';
print '<td align="left">'.$ritnummers["klantgegevens"][0]->naam.'</td><br>';
print '</td></tr>';
print '<tr><td>Afleveradres:</td>';
print '<td align="left">'.$ritnummers["klantgegevens"][0]->afleveradres.'</td><br>';
print '</td></tr>';
print '<tr><td>Postcode:</td>';
print '<td align="left">'.$ritnummers["klantgegevens"][0]->postcode.'</td><br>';
print '</td></tr>';
print '<tr><td>Plaats:</td>';
print '<td align="left">'.$ritnummers["klantgegevens"][0]->plaats.'</td><br>';
print '</td></tr>';
print '<tr><td>Land:</td>';
print '<td align="left">'.$ritnummers["klantgegevens"][0]->land.'</td><br>';
print '</td></tr>';
print '</table>';
print '<table cellspacing="2" cellpadding="2" width="50%" bgcolor="#cccccc">';
print '<caption><H2>Artikelgegevens</H2></caption> ';
print '<tr>';
print '<th></th>';
print '<th>Artikelnummer</th>';
print '<th>Artikelomschrijving</th>';
print '<th>Aantal</th>';
print '</tr>';
foreach ($ritnummers["artikelgegevens"] as $verzamelfoutformulier){
print '<tr>';
print '<form action="artikelgegevens.php" method="POST" enctype=multipart/form-data >';
for($i = 0; $i < $artikels; $i++) {
print $i;
print $i + 1;
}
print '<td align="center"><input type="checkbox" name="check[]" value="'.$verzamelfoutformulier->artnr.$verzamelfoutformulier->artomschr.$verzamelfoutformulier->geleverd.'" /></td>';
print '<td align="center">'.$verzamelfoutformulier->artnr.'</td>';
print '<td align="center">'.$verzamelfoutformulier->artomschr.'</td>';
print '<td align="center">'.$verzamelfoutformulier->geleverd.'</td>';
print '</tr>';
}
print '<td align="center"><input type="submit" name ="submit" value="Kies een artikel"></form></td>';
print '</table>';
print '</fieldset>';
}
?>
if( $_SERVER['REQUEST_METHOD'] == "POST" ) {
ini_set("soap.wsdl_cache_enabled", 0);
$webservice_server = "";
$webservice_connection_string = "";
$client = new SoapClient( $webservice_connection_string, array( 'soap_version' => SOAP_1_1 ) );
$ritnummers = $client->verzamelfoutformulier($_POST["land"], $_POST["ordernr"]);
foreach ($ritnummers as $verzamelfoutformulier){
}
print '<table cellspacing="1" cellpadding="2" width="50%" bgcolor="#cccccc">';
print '<tr>';
print '<caption><H2>Klantgegevens</H2></caption> ';
print '</tr>';
print '<tr><td>Klantnummer:</td>';
print '<td align="left">'.$ritnummers["klantgegevens"][0]->klantnr.'</td><br>';
print '</td></tr>';
print '<tr><td>Klantnaam:</td>';
print '<td align="left">'.$ritnummers["klantgegevens"][0]->naam.'</td><br>';
print '</td></tr>';
print '<tr><td>Afleveradres:</td>';
print '<td align="left">'.$ritnummers["klantgegevens"][0]->afleveradres.'</td><br>';
print '</td></tr>';
print '<tr><td>Postcode:</td>';
print '<td align="left">'.$ritnummers["klantgegevens"][0]->postcode.'</td><br>';
print '</td></tr>';
print '<tr><td>Plaats:</td>';
print '<td align="left">'.$ritnummers["klantgegevens"][0]->plaats.'</td><br>';
print '</td></tr>';
print '<tr><td>Land:</td>';
print '<td align="left">'.$ritnummers["klantgegevens"][0]->land.'</td><br>';
print '</td></tr>';
print '</table>';
print '<table cellspacing="2" cellpadding="2" width="50%" bgcolor="#cccccc">';
print '<caption><H2>Artikelgegevens</H2></caption> ';
print '<tr>';
print '<th></th>';
print '<th>Artikelnummer</th>';
print '<th>Artikelomschrijving</th>';
print '<th>Aantal</th>';
print '</tr>';
foreach ($ritnummers["artikelgegevens"] as $verzamelfoutformulier){
print '<tr>';
print '<form action="artikelgegevens.php" method="POST" enctype=multipart/form-data >';
for($i = 0; $i < $artikels; $i++) {
print $i;
print $i + 1;
}
print '<td align="center"><input type="checkbox" name="check[]" value="'.$verzamelfoutformulier->artnr.$verzamelfoutformulier->artomschr.$verzamelfoutformulier->geleverd.'" /></td>';
print '<td align="center">'.$verzamelfoutformulier->artnr.'</td>';
print '<td align="center">'.$verzamelfoutformulier->artomschr.'</td>';
print '<td align="center">'.$verzamelfoutformulier->geleverd.'</td>';
print '</tr>';
}
print '<td align="center"><input type="submit" name ="submit" value="Kies een artikel"></form></td>';
print '</table>';
print '</fieldset>';
}
?>
op tweede pagina heb ik momenteel dit script geschreven:
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Krijg op de 2e pagina dit te zien:
array(2) { ["check"]=> array(3) { [0]=> string(45) "960008........8" [1]=> string(44) "960014......4" [2]=> string(44) "960016....2" } ["submit"]=> string(16) "Kies een artikel" }
Ik heb in dit geval 3 artikelen aangevinkt.
Welke script moet ik gebruiken om deze zo netjes zien:
Artnr Artomschrijving aantal
960008 (omschrijving) 8
960014 (omschrijving) 4
960016 (omschrijving) 2
en ik mis de klantgegevens die op de eerste pagina zijn getoond. Hoe moet ik deze onthouden of meekrijgen?
Murtada Helo op 15/08/2012 11:48:21:
Als ik op deze knop (kies een artikel) klik wil graag dat de aangevinkte artikel samen met klant gegevens op de volgende pagina zien dus precies de inhoud van eerste pagina op de 2e pagina zien behalve de artikelen die niet geselecteerd zijn.
Als je dezelfde gegevens wilt tonen, moet je dezelfde invoer gegevens hebben zodat je op dezelfde manier de gegevens kunt ophalen en kunt tonen.
Dus naast het lijstje met gegevens die je wilt tonen, moet je nu een tweede lijstje maken met de invoer gegevens die je dus moet zien te krijgen in je pagina.
Murtada Helo op 15/08/2012 11:48:21:
en ik mis de klantgegevens die op de eerste pagina zijn getoond. Hoe moet ik deze onthouden of meekrijgen?
Onthouden kan niet, dat heb ik je nu al een paar keer proberen duidelijk te maken. Voor elke pagina begint php weer net zo dom als voor de vorige. Als je dus gegevens nodig hebt, dan moet je een manier bedenken om die te krijgen.
[/quote]
Hoeveel ervaring heb je in php? Voor je klantgegevens door te geven raad ik in dit geval aan om maar een sessie aan te maken. Dan sla je daar alle $_POST gegevens op van je klant, zodat je deze op de volgende pagina makkelijk mee kunt nemen.
Bedoel je dat ik een kopie maak van de huidige eerste pagina en deze plakken op de 2e pagina met het wijzigen van html formulier naar hidden input en voor foreach
dit gebruik ??
anders laat mij even weten welke script hiervoor moet gebruiken?
[/quote]
[/quote]
Toevoeging op 15/08/2012 12:51:32:
Heb geen enkele ervaring ik wil wel ervaring opbouwen. Wat is uw advies?
Voor sessie gebruik deze ? anders hoe dat moet?
$_SESSION['pagina'] = #Pagina nummer#;
echo $_SESSION['pagina'];
Mijn advies, leer eerst in elk geval de basis van php. Zonder basis kan je geen ervaring opdoen met een project.
Bedankt voor geduld
Ik ga mee met Erwin, leer eerst eens de basis van PHP, en begin met een kleiner project.