Kleine Vragen Topic #3

Gestart doorStef2.514 reacties9.659 weergaven

2.515 berichten · pagina 163 van 168

Stef

Lid · Topicstarter

Berichten
10.150
Reputatie
2
Punten
0,00
Lid sinds
Laatst gezien
Ik doe nu dit:

Codeblok (voorbeeld.php):

1
2
3
4
5
6
7
8
9

$query = mysql_query(SELECT theEmailAddress
FROM mail);
if (!$query) {
die(Invalid query: . mysql_error());
}
$num_rows = mysql_num_rows($query);

$row = mysql_fetch_array($query);
echo $row[theEmailAddress];

En in de database staan 3 email adressen. Maar bij de echo geeft hij er maar 1.
Hoe maak ik het zo dat hij alle theEmailAddress geeft?
0
Berichten
13.482
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Stef schreef:
Ik doe nu dit:

Codeblok (voorbeeld.php):
1
2
3
4
5
6
7
8
9

$query = mysql_query(SELECT theEmailAddress
FROM mail);
if (!$query) {
die(Invalid query: . mysql_error());
}
$num_rows = mysql_num_rows($query);

$row = mysql_fetch_array($query);
echo $row[theEmailAddress];

En in de database staan 3 email adressen. Maar bij de echo geeft hij er maar 1.
Hoe maak ik het zo dat hij alle theEmailAddress geeft?

Gebruik een while loop.

while($row = mysql_fetch_array($query)) {


mysql_fetch_row haalt steeds de eerstvolgende rij met gegevens uit het resultaat op.
0
Berichten
14.025
Reputatie
1
Punten
0,01
Lid sinds
Laatst gezien
Sjoerd schreef:
Eerdere citaten tonen
Stef schreef:
Ik doe nu dit:
Codeblok (voorbeeld.php):
1
2
3
4
5
6
7
8
9

$query = mysql_query(SELECT theEmailAddress
FROM mail);
if (!$query) {
die(Invalid query: . mysql_error());
}
$num_rows = mysql_num_rows($query);

$row = mysql_fetch_array($query);
echo $row[theEmailAddress];

En in de database staan 3 email adressen. Maar bij de echo geeft hij er maar 1.
Hoe maak ik het zo dat hij alle theEmailAddress geeft?

Gebruik een while loop.

while($row = mysql_fetch_array($query)) {


Ik denk dat een for loopje ook wel werkt. Met PDO gebruik ik
$result = $query->fetchAll(PDO:[IMG]https://one2xs.com/img/smilies/aah.gif[/IMG]ETCH_OBJ)
en daarna
for($i = 0; $i < count($result); $i++)
0
Berichten
518
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Aarclay schreef:
Eerdere citaten tonen
Kitnkiller schreef:
Eerdere citaten tonen
Aarclay schreef:
Hmm.. die werkt ook niet..
Ik ga nog even stoeien, maar mocht iemand wat vinden, dan hoor ik het graag.

Huh, krijg je een error dan ofzo? Zou t wel graag oplossen yummie
EDIT: Ohja, komt door die MAX() geloof ik. T moet via subquery lijkt me, maar das wel sloom met veel querys dan ofc.
Probeer deze:

SELECY (SELECT MAX(b.routenummer) , b.ValidFromDate AS nummer
FROM route b
WHERE b.routenummer <= a.ritnummer) AS iets FROM inzet a

"Operand should contain 1 column(s)" confused
SELECT (SELECT MAX(b.routenummer)
FROM route b
WHERE b.routenummer <= a.ritnummer) AS routenummer, (SELECT b.ValidFromDate
FROM route b
WHERE b.routenummer <= a.ritnummer) AS nummer FROM inzet a


Dit zou moeten werken dan, maar performance lijkt me echt slecht. Oplossing met join zou je moeten vinden.
0
Berichten
13.482
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Kitnkiller schreef:
Eerdere citaten tonen
Aarclay schreef:
Eerdere citaten tonen
Kitnkiller schreef:
Eerdere citaten tonen
Aarclay schreef:
Hmm.. die werkt ook niet..
Ik ga nog even stoeien, maar mocht iemand wat vinden, dan hoor ik het graag.

Huh, krijg je een error dan ofzo? Zou t wel graag oplossen yummie
EDIT: Ohja, komt door die MAX() geloof ik. T moet via subquery lijkt me, maar das wel sloom met veel querys dan ofc.
Probeer deze:

SELECY (SELECT MAX(b.routenummer) , b.ValidFromDate AS nummer
FROM route b
WHERE b.routenummer <= a.ritnummer) AS iets FROM inzet a

"Operand should contain 1 column(s)" confused
SELECT (SELECT MAX(b.routenummer)
FROM route b
WHERE b.routenummer <= a.ritnummer) AS routenummer, (SELECT b.ValidFromDate
FROM route b
WHERE b.routenummer <= a.ritnummer) AS nummer FROM inzet a


Dit zou moeten werken dan, maar performance lijkt me echt slecht. Oplossing met join zou je moeten vinden.
Die gaat ook niet werken, want [c](SELECT b.ValidFromDate FROM route b WHERE b.routenummer <= a.ritnummer)[/c] geeft meerdere rijen terug

@Aarclay
Is het niet gewoon een optie om iets te doen als [c]SELECT (FLOOR(ritnummer/100)*100) as routenummer[/c]? Of geldt het niet voor elk ritnummer dat het routenummer het ritnummer naar beneden afgerond op honderden is?
0
Berichten
518
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Sjoerd schreef:
Eerdere citaten tonen
Kitnkiller schreef:
Eerdere citaten tonen
Aarclay schreef:
Eerdere citaten tonen
Kitnkiller schreef:
Eerdere citaten tonen
Aarclay schreef:
Hmm.. die werkt ook niet..
Ik ga nog even stoeien, maar mocht iemand wat vinden, dan hoor ik het graag.

Huh, krijg je een error dan ofzo? Zou t wel graag oplossen yummie
EDIT: Ohja, komt door die MAX() geloof ik. T moet via subquery lijkt me, maar das wel sloom met veel querys dan ofc.
Probeer deze:

SELECY (SELECT MAX(b.routenummer) , b.ValidFromDate AS nummer
FROM route b
WHERE b.routenummer <= a.ritnummer) AS iets FROM inzet a

"Operand should contain 1 column(s)" confused
SELECT (SELECT MAX(b.routenummer)
FROM route b
WHERE b.routenummer <= a.ritnummer) AS routenummer, (SELECT b.ValidFromDate
FROM route b
WHERE b.routenummer <= a.ritnummer) AS nummer FROM inzet a


Dit zou moeten werken dan, maar performance lijkt me echt slecht. Oplossing met join zou je moeten vinden.
Die gaat ook niet werken, want [c](SELECT b.ValidFromDate FROM route b WHERE b.routenummer <= a.ritnummer)[/c] geeft meerdere rijen terug

@Aarclay
Is het niet gewoon een optie om iets te doen als [c]SELECT (FLOOR(ritnummer/100)*100) as routenummer[/c]? Of geldt het niet voor elk ritnummer dat het routenummer het ritnummer naar beneden afgerond op honderden is?
SELECT (SELECT MAX(b.routenummer)
FROM route b
WHERE b.routenummer <= a.ritnummer) AS routenummer, (SELECT b.ValidFromDate
FROM route b
WHERE b.routenummer <= a.ritnummer ORDER BY b.routenummer DESC LIMIT 1) AS nummer FROM inzet a


Zo dan biggrin
0
Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
Nee, de treinseries zijn niet altijd afgerond op honderdsten.
Ik zal van het weekend de query proberen. Hij ziet er goed uit wink
Die MAX() is bedoeld om de laatste records te pakken, omdat er dubbele per jaar erin staan. Mooi archiefje zo wink
Wordt vervolgd, en bedankt voor het meedenken!
0
Berichten
35.796
Reputatie
1
Punten
0,00
Lid sinds
Laatst gezien
Aarclay schreef:
Query vraagje... Ik heb een tabel met dienstregelingnummers van treinen, nu wil ik per nummer de treindienstserie tonen (bijv. 752 = 700, 723= 700, 853= 800, 899=800, naar beneden afgerond dus.)

Hiermee haal ik voor 1 record het juiste (onderaanliggende) treindienstserienummer op:

SELECT MAX(routenummer) , ValidFromDate AS nummer
FROM route
WHERE routenummer <= 751
Nu wil ik het voor records doen?

SELECT MAX( routenummer ) , ValidFromDate AS nummer
FROM routes
WHERE routenummer <= (SELECT ritnummer FROM inzet)


Deze geeft [c]#1242: Subquery returns more than a row[/c]

Hoe moet het dan wel?

SELECT FLOOR(routenummer / 100) * 100 AS treindienstserienummer FROM routes
of begrijp ik je niet goed? confused
0
Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
Een routenummer is soms niet op 100tallen afgerond. wink
0
Stef

Lid · Topicstarter

Berichten
10.150
Reputatie
2
Punten
0,00
Lid sinds
Laatst gezien
Sjoerd schreef:
Eerdere citaten tonen
Stef schreef:
Ik doe nu dit:
Codeblok (voorbeeld.php):
1
2
3
4
5
6
7
8
9
10

$query = mysql_query(SELECT theEmailAddress
FROM mail
);
if (!$query) {
die(Invalid query: . mysql_error());
}

$num_rows = mysql_num_rows($query);

$row = mysql_fetch_array($query);
echo $row[theEmailAddress];

En in de database staan 3 email adressen. Maar bij de echo geeft hij er maar 1.
Hoe maak ik het zo dat hij alle theEmailAddress geeft?

Gebruik een while loop.

while($row = mysql_fetch_array($query)) {


mysql_fetch_row haalt steeds de eerstvolgende rij met gegevens uit het resultaat op.

Bedankt! worshippyIk heb het nu zo staan:
Spoiler tonen
Codeblok (voorbeeld.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

$link = mysql_connect($servername, $username, $password);
if (!$link) {
die(Could not connect: . mysql_error());
}


$db_selected = mysql_select_db(troll_mail, $link);

if (!$db_selected) {
die (Cant use foo : . mysql_error());
}


$query = mysql_query(SELECT theEmailAddress
FROM mail
);
if (!$query) {
die(Invalid query: . mysql_error());
}


//$row = mysql_fetch_assoc($query);

/*if ($query->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "Emails:: " . $row["theEmailAddress"]. "
";
}
} else {
echo "0 results";
}*/


require PHPMailerAutoload.php;

$mail = new PHPMailer;

//$mail->SMTPDebug = 3; // Enable verbose debug output

$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = mail.troll.eu; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = ik@troll.eu; // SMTP username
$mail->Password = troll; // SMTP password
$mail->SMTPSecure = tls; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 587; // TCP port to connect to

$mail->From = ik@troll.eu;
$mail->FromName = Stef;
$mail->addAddress(troll); // Name is optional
while($row = mysql_fetch_array($query)) {
$mail->addBCC(row[theEmailAddress]);
}


$mail->addAttachment(/var/tmp/file.tar.gz); // Add attachments
$mail->addAttachment(/tmp/image.jpg, new.jpg); // Optional name
$mail->isHTML(true); // Set email format to HTML

$mail->Subject = Here is the subject;
$mail->Body = This is the HTML message body in bold!;
$mail->AltBody = This is the body in plain text for non-HTML mail clients;

if(!$mail->send()) {
echo Message could not be sent.;
echo Mailer Error: . $mail->ErrorInfo;
}
else {
echo Message has been sent;
}


Eerst heb ik het geprobeerd met een echo stef in de while loop, en er kwam stefstefstef uit, en toen deed ik nog een echo $row[theEmailAddress] en daar kwamen alle 3 de emails uit. Maar nu ik het zo heb (dus [c] $mail->addBCC(row[theEmailAddress]);[/c] in de while, krijg ik een witte pagina. Nieteens een foutmelding ofzo.
Iemand weet wat ik fout doe?
0
Berichten
3.001
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Stef schreef:
Eerdere citaten tonen
Sjoerd schreef:
Eerdere citaten tonen
Stef schreef:
Ik doe nu dit:
Codeblok (voorbeeld.php):
1
2
3
4
5
6
7
8
9
10

$query = mysql_query(SELECT theEmailAddress
FROM mail
);
if (!$query) {
die(Invalid query: . mysql_error());
}

$num_rows = mysql_num_rows($query);

$row = mysql_fetch_array($query);
echo $row[theEmailAddress];
En in de database staan 3 email adressen. Maar bij de echo geeft hij er maar 1.
Hoe maak ik het zo dat hij alle theEmailAddress geeft?

Gebruik een while loop.

while($row = mysql_fetch_array($query)) {


mysql_fetch_row haalt steeds de eerstvolgende rij met gegevens uit het resultaat op.

Bedankt! worshippyIk heb het nu zo staan:
Spoiler tonen
Codeblok (voorbeeld.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

$link = mysql_connect($servername, $username, $password);
if (!$link) {
die(Could not connect: . mysql_error());
}


$db_selected = mysql_select_db(troll_mail, $link);

if (!$db_selected) {
die (Cant use foo : . mysql_error());
}


$query = mysql_query(SELECT theEmailAddress
FROM mail
);
if (!$query) {
die(Invalid query: . mysql_error());
}


//$row = mysql_fetch_assoc($query);

/*if ($query->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "Emails:: " . $row["theEmailAddress"]. "
";
}
} else {
echo "0 results";
}*/


require PHPMailerAutoload.php;

$mail = new PHPMailer;

//$mail->SMTPDebug = 3; // Enable verbose debug output

$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = mail.troll.eu; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = ik@troll.eu; // SMTP username
$mail->Password = troll; // SMTP password
$mail->SMTPSecure = tls; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 587; // TCP port to connect to

$mail->From = ik@troll.eu;
$mail->FromName = Stef;
$mail->addAddress(troll); // Name is optional
while($row = mysql_fetch_array($query)) {
$mail->addBCC(row[theEmailAddress]);
}


$mail->addAttachment(/var/tmp/file.tar.gz); // Add attachments
$mail->addAttachment(/tmp/image.jpg, new.jpg); // Optional name
$mail->isHTML(true); // Set email format to HTML

$mail->Subject = Here is the subject;
$mail->Body = This is the HTML message body in bold!;
$mail->AltBody = This is the body in plain text for non-HTML mail clients;

if(!$mail->send()) {
echo Message could not be sent.;
echo Mailer Error: . $mail->ErrorInfo;
}
else {
echo Message has been sent;
}


Eerst heb ik het geprobeerd met een echo stef in de while loop, en er kwam stefstefstef uit, en toen deed ik nog een echo $row[theEmailAddress] en daar kwamen alle 3 de emails uit. Maar nu ik het zo heb (dus [c] $mail->addBCC(row[theEmailAddress]);[/c] in de while, krijg ik een witte pagina. Nieteens een foutmelding ofzo.
Iemand weet wat ik fout doe?

Je bent de $ vergeten bij je row.
0
Stef

Lid · Topicstarter

Berichten
10.150
Reputatie
2
Punten
0,00
Lid sinds
Laatst gezien
Bugged schreef:
Eerdere citaten tonen
Stef schreef:
Eerdere citaten tonen
Sjoerd schreef:
Eerdere citaten tonen
Stef schreef:
Ik doe nu dit:
Codeblok (voorbeeld.php):
1
2
3
4
5
6
7
8
9
10

$query = mysql_query(SELECT theEmailAddress
FROM mail
);
if (!$query) {
die(Invalid query: . mysql_error());
}

$num_rows = mysql_num_rows($query);

$row = mysql_fetch_array($query);
echo $row[theEmailAddress];
En in de database staan 3 email adressen. Maar bij de echo geeft hij er maar 1.
Hoe maak ik het zo dat hij alle theEmailAddress geeft?
Gebruik een while loop.

while($row = mysql_fetch_array($query)) {


mysql_fetch_row haalt steeds de eerstvolgende rij met gegevens uit het resultaat op.

Bedankt! worshippyIk heb het nu zo staan:
Spoiler tonen
Codeblok (voorbeeld.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

$link = mysql_connect($servername, $username, $password);
if (!$link) {
die(Could not connect: . mysql_error());
}


$db_selected = mysql_select_db(troll_mail, $link);

if (!$db_selected) {
die (Cant use foo : . mysql_error());
}


$query = mysql_query(SELECT theEmailAddress
FROM mail
);
if (!$query) {
die(Invalid query: . mysql_error());
}


//$row = mysql_fetch_assoc($query);

/*if ($query->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "Emails:: " . $row["theEmailAddress"]. "
";
}
} else {
echo "0 results";
}*/


require PHPMailerAutoload.php;

$mail = new PHPMailer;

//$mail->SMTPDebug = 3; // Enable verbose debug output

$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = mail.troll.eu; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = ik@troll.eu; // SMTP username
$mail->Password = troll; // SMTP password
$mail->SMTPSecure = tls; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 587; // TCP port to connect to

$mail->From = ik@troll.eu;
$mail->FromName = Stef;
$mail->addAddress(troll); // Name is optional
while($row = mysql_fetch_array($query)) {
$mail->addBCC(row[theEmailAddress]);
}


$mail->addAttachment(/var/tmp/file.tar.gz); // Add attachments
$mail->addAttachment(/tmp/image.jpg, new.jpg); // Optional name
$mail->isHTML(true); // Set email format to HTML

$mail->Subject = Here is the subject;
$mail->Body = This is the HTML message body in bold!;
$mail->AltBody = This is the body in plain text for non-HTML mail clients;

if(!$mail->send()) {
echo Message could not be sent.;
echo Mailer Error: . $mail->ErrorInfo;
}
else {
echo Message has been sent;
}


Eerst heb ik het geprobeerd met een echo stef in de while loop, en er kwam stefstefstef uit, en toen deed ik nog een echo $row[theEmailAddress] en daar kwamen alle 3 de emails uit. Maar nu ik het zo heb (dus [c] $mail->addBCC(row[theEmailAddress]);[/c] in de while, krijg ik een witte pagina. Nieteens een foutmelding ofzo.
Iemand weet wat ik fout doe?

Je bent de $ vergeten bij je row.

Oh wauw emo clownDankje biggrin
0
Berichten
14.025
Reputatie
1
Punten
0,01
Lid sinds
Laatst gezien
Stef schreef:
Eerdere citaten tonen
Sjoerd schreef:
Eerdere citaten tonen
Stef schreef:
Ik doe nu dit:
Codeblok (voorbeeld.php):
1
2
3
4
5
6
7
8
9
10

$query = mysql_query(SELECT theEmailAddress
FROM mail
);
if (!$query) {
die(Invalid query: . mysql_error());
}

$num_rows = mysql_num_rows($query);

$row = mysql_fetch_array($query);
echo $row[theEmailAddress];
En in de database staan 3 email adressen. Maar bij de echo geeft hij er maar 1.
Hoe maak ik het zo dat hij alle theEmailAddress geeft?

Gebruik een while loop.

while($row = mysql_fetch_array($query)) {


mysql_fetch_row haalt steeds de eerstvolgende rij met gegevens uit het resultaat op.

Bedankt! worshippyIk heb het nu zo staan:
Spoiler tonen
Codeblok (voorbeeld.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

$link = mysql_connect($servername, $username, $password);
if (!$link) {
die(Could not connect: . mysql_error());
}


$db_selected = mysql_select_db(troll_mail, $link);

if (!$db_selected) {
die (Cant use foo : . mysql_error());
}


$query = mysql_query(SELECT theEmailAddress
FROM mail
);
if (!$query) {
die(Invalid query: . mysql_error());
}


//$row = mysql_fetch_assoc($query);

/*if ($query->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "Emails:: " . $row["theEmailAddress"]. "
";
}
} else {
echo "0 results";
}*/


require PHPMailerAutoload.php;

$mail = new PHPMailer;

//$mail->SMTPDebug = 3; // Enable verbose debug output

$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = mail.troll.eu; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = ik@troll.eu; // SMTP username
$mail->Password = troll; // SMTP password
$mail->SMTPSecure = tls; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 587; // TCP port to connect to

$mail->From = ik@troll.eu;
$mail->FromName = Stef;
$mail->addAddress(troll); // Name is optional
while($row = mysql_fetch_array($query)) {
$mail->addBCC(row[theEmailAddress]);
}


$mail->addAttachment(/var/tmp/file.tar.gz); // Add attachments
$mail->addAttachment(/tmp/image.jpg, new.jpg); // Optional name
$mail->isHTML(true); // Set email format to HTML

$mail->Subject = Here is the subject;
$mail->Body = This is the HTML message body in bold!;
$mail->AltBody = This is the body in plain text for non-HTML mail clients;

if(!$mail->send()) {
echo Message could not be sent.;
echo Mailer Error: . $mail->ErrorInfo;
}
else {
echo Message has been sent;
}


Eerst heb ik het geprobeerd met een echo stef in de while loop, en er kwam stefstefstef uit, en toen deed ik nog een echo $row[theEmailAddress] en daar kwamen alle 3 de emails uit. Maar nu ik het zo heb (dus [c] $mail->addBCC(row[theEmailAddress]);[/c] in de while, krijg ik een witte pagina. Nieteens een foutmelding ofzo.
Iemand weet wat ik fout doe?

Misschien foutmeldingen aanzetten?
0
Stef

Lid · Topicstarter

Berichten
10.150
Reputatie
2
Punten
0,00
Lid sinds
Laatst gezien
Dylan schreef:
Eerdere citaten tonen
Stef schreef:
Eerdere citaten tonen
Sjoerd schreef:
Eerdere citaten tonen
Stef schreef:
Ik doe nu dit:
Codeblok (voorbeeld.php):
1
2
3
4
5
6
7
8
9
10

$query = mysql_query(SELECT theEmailAddress
FROM mail
);
if (!$query) {
die(Invalid query: . mysql_error());
}

$num_rows = mysql_num_rows($query);

$row = mysql_fetch_array($query);
echo $row[theEmailAddress];
En in de database staan 3 email adressen. Maar bij de echo geeft hij er maar 1.
Hoe maak ik het zo dat hij alle theEmailAddress geeft?
Gebruik een while loop.

while($row = mysql_fetch_array($query)) {


mysql_fetch_row haalt steeds de eerstvolgende rij met gegevens uit het resultaat op.

Bedankt! worshippyIk heb het nu zo staan:
Spoiler tonen
Codeblok (voorbeeld.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

$link = mysql_connect($servername, $username, $password);
if (!$link) {
die(Could not connect: . mysql_error());
}


$db_selected = mysql_select_db(troll_mail, $link);

if (!$db_selected) {
die (Cant use foo : . mysql_error());
}


$query = mysql_query(SELECT theEmailAddress
FROM mail
);
if (!$query) {
die(Invalid query: . mysql_error());
}


//$row = mysql_fetch_assoc($query);

/*if ($query->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "Emails:: " . $row["theEmailAddress"]. "
";
}
} else {
echo "0 results";
}*/


require PHPMailerAutoload.php;

$mail = new PHPMailer;

//$mail->SMTPDebug = 3; // Enable verbose debug output

$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = mail.troll.eu; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = ik@troll.eu; // SMTP username
$mail->Password = troll; // SMTP password
$mail->SMTPSecure = tls; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 587; // TCP port to connect to

$mail->From = ik@troll.eu;
$mail->FromName = Stef;
$mail->addAddress(troll); // Name is optional
while($row = mysql_fetch_array($query)) {
$mail->addBCC(row[theEmailAddress]);
}


$mail->addAttachment(/var/tmp/file.tar.gz); // Add attachments
$mail->addAttachment(/tmp/image.jpg, new.jpg); // Optional name
$mail->isHTML(true); // Set email format to HTML

$mail->Subject = Here is the subject;
$mail->Body = This is the HTML message body in bold!;
$mail->AltBody = This is the body in plain text for non-HTML mail clients;

if(!$mail->send()) {
echo Message could not be sent.;
echo Mailer Error: . $mail->ErrorInfo;
}
else {
echo Message has been sent;
}


Eerst heb ik het geprobeerd met een echo stef in de while loop, en er kwam stefstefstef uit, en toen deed ik nog een echo $row[theEmailAddress] en daar kwamen alle 3 de emails uit. Maar nu ik het zo heb (dus [c] $mail->addBCC(row[theEmailAddress]);[/c] in de while, krijg ik een witte pagina. Nieteens een foutmelding ofzo.
Iemand weet wat ik fout doe?

Misschien foutmeldingen aanzetten?

Helemaal bovenin heb ik foutmeldingen al aanstaan. Weet alleen niet waarom dat ik geen foutmelding kreeg yummie
0
Berichten
18.482
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Omdat je server foutmeldingen uit heeft staan in de php.ini. Als je een fatal error krijgt maakt het niet uit of je in je code de foutmelding aan zet
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren