Hallo allemaal,
Ik ben een scriptje aan het maken om alle e-mailadressen van de leden die nog 0 posts hebben op te vragen gescheiden door ''; '' om zo alles te kunnen kopiƫren/plakken en te mailen.
Ik heb nu dit:
<?php
$db = array (
'host' => 'localhost',
'user' => 'db user',
'pass' => 'wachtwoord',
'dbname' => 'db naam'
);
if(!mysql_connect($db['host'], $db['user'], $db['pass']))
{
trigger_error('Fout bij verbinden: '.mysql_error());
}
elseif(!mysql_select_db($db['dbname']))
{
trigger_error('Fout bij selecteren database: '.mysql_error());
}
else
{
$sql = "SET SESSION sql_mode = 'ANSI,ONLY_FULL_GROUP_BY'";
if(!mysql_query($sql))
{
trigger_error('MySQL in ANSI niet mogelijk');
}
}
$query = "
SELECT
emailAddress
FROM
smf_members
WHERE posts = 0";
$sResultaat = mysql_query($query) or die (mysql_error());
while ($sEmailadressen = mysql_fetch_assoc($sResultaat));
echo ' '.$sEmailadressen['emailAddress'].';';
?>
Als ik het scriptje uitvoer zie ik enkel dit: "; ", maar dus zeker geen e-mail adressen :P
Wie kan mij vertellen wat ik fout doe? En misschien ook een beetje uitleg, ik ben nog niet zo lang bezig met mezelf php/sql aan te leren en dit leek me wel iets leuks/simpels om mee te beginnen.
Groetjes Josephine
Vervang dit:
while ($sEmailadressen = mysql_fetch_assoc($sResultaat));
echo ' '.$sEmailadressen['emailAddress'].';';
door dit:
while ($sEmailadressen = mysql_fetch_assoc($sResultaat))
echo ' '.$sEmailadressen['emailAddress'].';';
Whaha domme domme ikke :P Gelukkig was het ''idee'' wel goed :P
Nog een vraagje ik wil elke keer alleen de emailadressen laten zien die er na de vorige keer van het versturen van een mail bij gekomen zijn. Daarvoor zet ik de actuele datum in een cookie maar ik moet ook de datum van registreren uit de database lezen. Die staat in de kolom: dateRegistered maar in een heel raar formaat. Mijn registratie datum is bijv. april 21, 2007, 08:33:31 pm, maar in de database staat dan: 1177180411.
Als ik dan doe...
"SELECT emailAddress FROM smf_members WHERE dateRegistered > ' $_COOKIE[datum]'"
...Betwijfel ik of het goed gaat omdat de datum in zo'n raar formaat in de db staat? Maakt het uit hoe ik de datum in de cookie opsla?
De datum wordt in de database opgeslagen als een UNIX timestamp, omdat die minder schijfruimte innemen. Je kunt een UNIX timestamp converteren naar een 'leesbare tijd' met behulp van de date-functie van PHP. Andersom kan ook: via de strtotime-functie kun je tijdstippen als 'april 21, 2007, 08:33:31 pm' om zetten naar 1177180411.
Bedankt voor de snelle reactie. Ik denk dat het dan het beste is om de datum die ik in de cookie zet in timestamp te converteren?
Ik denk 't ook, ja. :)