Mail / join op mysql vraag
Het is een mail-uitnodigingsscript welke gaat werken met phpmailer.
Normaliter geen probleem, echter zodra iemand zich b.v. voor 3 cursussen heeft ingeschreven, wil ik geen 3 mails versturen, maar 1 mail met de cursusnamen en de tijdstippen en data waarom deze wordt gegeven.
Ik haal via een werkende JOIN constructie op de database de data die ik nodig heb binnen.
Waar ik op vastloop is het 'bufferen' van de gegevens welke ik via een loop uit de database haal.
[Tabel Persoonsgegevens]
TID
Naam
[Tabel Cursusdata]
CID
TID
Cursus
Datum
Tijd
Locatie
Deze 2 tabellen zijn gejoined.
Hoe krijg ik het zover dat ik een email kan opstellen met 1x de persoonsgegevens, en alle benodigde cursusdata van deze persoon worden opgesteld, en vervolgens worden gemaild, EN dat deze terug worden geplaatst als 1 ID in de database in een nieuwe tabel, en dat allemaal in 1 handeling ;)
Gewijzigd op 03/10/2012 17:35:26 door Ad Vertentie
Normaliseren... Je hebt een koppeltabel nodig als derde tabel die cursisten relateert aan cursussen.
Ik zie dat ik niet volledig ben geweest in het opzetten van mijn verhaal.
De koppeltabel die zit er uiteraard ook in.
De data genereren op het scherm is ook geen probleem, dat werkt allemaal.
Echter de mailconstructie erna is het probleem.
Toevoeging op 03/10/2012 17:41:04:
Klopt Ward,
Ik zie dat ik niet volledig ben geweest in het opzetten van mijn verhaal.
De koppeltabel die zit er uiteraard ook in.
De data genereren op het scherm is ook geen probleem, dat werkt allemaal.
Echter de mailconstructie erna is het probleem.
Er ontbreekt dan misschien nog een normalisatiestap: als één cursus op meerdere datums wordt gegeven, is dat namelijk ook een 1:n-relatie. Niet twee stappen, maar drie.
Uiteindelijk lost dat je mail-probleem op: één cursist heeft veel cursussen op zo mogelijk nog meer datums. En dat kan dan ook in één mail voor één cursist.