Ik heb een bestelformulier, daar kan een persoon kiezen uit meer dan 50 producten. Nu wil ik, nadat de persoon de bestelling geplaatst heeft een mail versturen met de producten die hij besteld heeft.

B.v

Uw gegevens:
Voornaam: Jan jaap
Achternaam: Sloot
Adres: Laan 12
Email: [email protected]

Uw artikelen:

kaas: 1 keer
boter: 1 keer

Nu zijn er natuurlijk 30 velden niet ingevuld, want een persoon besteld nooit alle artikelen op je website, nu is de vraag hoe kan ik ervoor zorgen dat alleen de velden die hij ingevuld heeft worden weergegeven?
Uh? wat is er aan de hand?
Hmm het is toch niet helemaal wat ik wil met die vertaling:

Mannen Classic: FM 43 => 1
Mannen Classic: FM 52 => 1
Mannen Classic: FM 54 => 1
Mannen Classic: FM 56 => 1
Mannen Classic: FM 57 => 1

Dat is nu de output,

maar ik wil b.v een tekst erboven hebben met: Uw artikelen: en dan een witregel (<br />) dus een beetje netjes opgemaakt, hoe kan dit?
hier vroeg ik om dus het is relevant. Je datamodel is een draak! Wat een velden heb je aangemaakt.

Het is handiger zo'n soort opzet te maken (heel eenvoudig genormaliseerd)

klant
id,
naam,
etc


product
id,
naam,
etc

klant_product (koppel tabel)
klant,
product

Zo heb je een een eenvoudiger manier van verwerken en bovendien wordt je script vele regels korter! Ik hoop dat je begrijpt wat ik bedoel...

Ook kan je dan bij de producten het volgende in je formulier doen:


<input type="text" name="parfum[<?php echo $row['id'];>]" />


Zo kan je precies je post array $_POST['parfum'] uitlezen in het voorbeeld op de lege velden controle dat ik je reeds gaf... Je bent hier nog lang niet mee klaar :)
Ja ik snap wat je bedoelt, ik ga het al op een andere manier oplossen. Maar bedankt iig

Reageren