email versturen naar meerdere emails + correct opslaan in database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Danny

Danny

22/01/2009 11:33:00
Quote Anchor link
Hoi mensen,

Ik wil een email versturen naar meerdere emailadressen dmv PHP. Die email met de gebruikte emailadressen wil ik vervolgens opslaan in mijn database.

Hoe kan ik mijn database het beste opzetten zodat:
- Ik kan checken hoeveel een gebruikte emailadres een email heeft ontvangen?

Voorbeeld: op mijn php site check ik hoeveel emails ik heb ontvangen op mijn [email protected]. Mijn site zegt dan: je hebt in totaal 2 emails ontvangen.
 
PHP hulp

PHP hulp

19/05/2024 21:29:24
 
Bas Visscher

Bas Visscher

22/01/2009 11:43:00
Quote Anchor link
Ligt eraan hoe je dit precies bedoelt?
Wil je dat een gebruiker kan zien hoeveel emails hij/zij ontvangen heeft?
als het om gebruikers of leden gaat die je mailt,
kan je in de gebruikers tabel een apparte tabel maken met aantal_email_ontvangen (int 5).

zodra je dan een email stuurt haal je eerst de oude waarde op:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$ophalen_oud
= mysql_query("SELECT aantal_mail_ontvangen FROM gebruikers WHERE gebruiker = gebruiker_emailadres ");

$oud = mysql_fetch_assoc($ophalen_oud);
//Wanneer je een mail stuurt
$nieuw = $oud['aantal_mail_ontvangen'] + 1;
//dit in de database opslaan
mysql_query("UPDATE gebruiker SET aantal_mail_ontvangen = '".$nieuw."' WHERE gebruiker = gebruiker_emailadres");
?>

zoiets zou ik gebruiken,
maar misschien bedoel je iets heel anders en sla ik de plank volkomen mis.
met dezelfde query kan je het aantal mailsontvangen ophalen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$ophalen_oud
= mysql_query("SELECT aantal_mail_ontvangen FROM gebruikers WHERE gebruiker = gebruiker_emailadres ");

$oud = mysql_fetch_assoc($ophalen_oud);

echo "U heeft".$oud['aantal_mail_ontvangen'] ;
?>
Gewijzigd op 01/01/1970 01:00:00 door Bas Visscher
 
Dennis Mertens

Dennis Mertens

22/01/2009 12:04:00
Quote Anchor link
@phpnoobie: In je eerste scriptje voer je een query uit, deze fetch je. En met die gegeven update je die zelfde record?

Dat kan allemaal in 1 query.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
UPDATE table SET emails=emails+1 WHERE dit=dat
 
Danny

Danny

22/01/2009 12:15:00
Quote Anchor link
Bedankt voor de reacties!

Ik wil niet alleen weten hoeveel emails ik in totaal heb ontvangen, maar wil ze ook allemaal kunnen opvragen en in een rijtje kunnen zetten. Dus ik wil alle emails van verschillende personen samen kunnen zetten in een rijtje.

Dus wordt het zoiets:
SELECT * FROM Emails WHERE emailvriend = mijnemail

'emailvriend' is/zijn de gebruikte emailadressen waar het naartoe is gestuurd
Maar als ik meerdere emailadressen in emailvriend-veld wil zetten, werkt de query niet meer.. hoe kan je meerdere waardes in 1 veld zetten en toch door kunnen zoeken?
 
Leon

Leon

22/01/2009 12:34:00
Quote Anchor link
Je moet niet meerdere adressen in één veld zetten, dan haal je de relationele structuur eruit. Splits het dan op in 2 tabellen namlijk:

Tabel1:
Id
Email Adres
Overige gegeven?

Table2:
id
tabel1Id
Email waarnaar toe is verstuurd

Doe vervolgens een count op tabel2 waar de table1Id gelijk is aan het id uit tabel1.
Gewijzigd op 01/01/1970 01:00:00 door Leon
 



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.