gegevens uit database in een array
Hallo,
Ik heb hier een stukje script dat emailadressen uit een veld in een database moet halen en deze dan in een array plaatst...tot nu toe heb ik dit, ik krijg geen foutmelding, maar er komt ook nog geen resultaat uit...
Ik heb hier een stukje script dat emailadressen uit een veld in een database moet halen en deze dan in een array plaatst...tot nu toe heb ik dit, ik krijg geen foutmelding, maar er komt ook nog geen resultaat uit...
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$selectie = mysql_query("select cid as ontvanger from webform_submitted_data where nid = '26' and cid = '13'") ;
while($row=mysql_fetch_array($selectie)){
$email2=array();
$email2[]=$row['cid'];
shuffle($email2);
}
?>
$selectie = mysql_query("select cid as ontvanger from webform_submitted_data where nid = '26' and cid = '13'") ;
while($row=mysql_fetch_array($selectie)){
$email2=array();
$email2[]=$row['cid'];
shuffle($email2);
}
?>
Gesponsorde koppelingen:
Geeft je query wel resultaten terug? daar controleer je niet op..
shuffle geeft enkel true / false terug...
met deze code weet ik ook niet waar je op hoopt?
shuffle geeft enkel true / false terug...
met deze code weet ik ook niet waar je op hoopt?
Probeer ook het afhandelen van MySQL foutmeldingen mee te nemen:
Code (php)
Gewijzigd op 08/07/2010 09:42:37 door John D
Komt er geen resultaat, omdat de query niet goed is, of omdat je niets echo-d naar de browser?
Je hebt cid naar ontvanger omgezet, probeer dit dan eens:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$selectie = mysql_query("select cid as ontvanger from webform_submitted_data where nid = '26' and cid = '13'") ;
while($row=mysql_fetch_array($selectie)){
$email2=array();
$email2[]=$row['ontvanger'];
shuffle($email2);
}
?>
$selectie = mysql_query("select cid as ontvanger from webform_submitted_data where nid = '26' and cid = '13'") ;
while($row=mysql_fetch_array($selectie)){
$email2=array();
$email2[]=$row['ontvanger'];
shuffle($email2);
}
?>
Gewijzigd op 08/07/2010 09:55:49 door Dennis Ameling
als ik nu het resultaat echo, dan komt er 13 te staan en niet het emailadres wat achter kolom cid staat. Er gaat dus wat fout, hij pakt nu de kolomnaam blijkbaar...hmmm
Waarom maak je steeds het array() weer leeg?
Zet $email2=array(); buiten (voor) de while().
Ook shuffle($email2); hoort niet in de while() maar erna.
Zet $email2=array(); buiten (voor) de while().
Ook shuffle($email2); hoort niet in de while() maar erna.
Gewijzigd op 08/07/2010 10:28:31 door - SanThe -
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$selectie = mysql_query("select cid from webform_submitted_data where nid = '26' ") ;
while($row=mysql_fetch_assoc($selectie)){
echo $row['cid'];
?>
$selectie = mysql_query("select cid from webform_submitted_data where nid = '26' ") ;
while($row=mysql_fetch_assoc($selectie)){
echo $row['cid'];
?>
Als ik dit doe, dan zou er een emailadres uit moeten komen, maar ik krijg een cijferreeks, daar begrijp ik al even niks van. Ik doe vast iets fout met mijn query...
De array zet ik in ieder geval vast buiten de while loop...maar nu dus even aan mijn query werken...
Het lijkt mij dat cid (c-id) een id (integer) is en geen emailadres.
Je zet nu de waarde van de kolom cid (sleutelveld waarschijnlijk) in de array. Het record zal ook wel een veld bevatten voor emailadres. Voeg dit toe aan je query en plaats de juiste veldwaarde in de array.
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$selectie = mysql_query("select cid, email from webform_submitted_data where nid = '26' ") ;
while($row=mysql_fetch_assoc($selectie)){
echo $row['email'];
?>
$selectie = mysql_query("select cid, email from webform_submitted_data where nid = '26' ") ;
while($row=mysql_fetch_assoc($selectie)){
echo $row['email'];
?>
laat maar, mijn query klopte niet, had verkeerde tabellen aangegeven...
nu moet ik alleen gaan testen of er ook geshuffeld word met de emailadressen, maar dat horen jullie of dat gaat lukken...
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$selectie = mysql_query("select data from webform_submitted_data where nid = '26' and cid = '13' ") ;
$email2=array();
$email2[]=$row['data'];
while($row=mysql_fetch_assoc($selectie)){
echo $row['data'];
}
shuffle($email2);
?>
$selectie = mysql_query("select data from webform_submitted_data where nid = '26' and cid = '13' ") ;
$email2=array();
$email2[]=$row['data'];
while($row=mysql_fetch_assoc($selectie)){
echo $row['data'];
}
shuffle($email2);
?>
nu moet ik alleen gaan testen of er ook geshuffeld word met de emailadressen, maar dat horen jullie of dat gaat lukken...
hoe krijg ik de emailadressen nu eigenlijk netjes onder elkaar te staan? nu ziet het er namelijk zo uit
info@mass.nlrenrley@hotmail.com
info@mass.nlrenrley@hotmail.com
nu is het zo geworden..
alleen gaat hete bij het echoen goed, maar niet zoals het verder zou moeten werken...
Voorheen had ik dit...
Nu moet dit ook gebeuren met het vernieuwde script. Ik denk dat er nog iets bij moet zodat er gesnapt wordt dat dit een soort lijst moet zijn waaruit geshuffeld moet worden toch???
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$selectie = mysql_query("select data from webform_submitted_data where nid = '26' and cid = '13' ") ;
$email2=array(); // maakt een lege array
while($row=mysql_fetch_assoc($selectie)){
$email2[]=$row['data']; // zet 'data' in je array email2
echo $row['data']; // geeft de inhoud weer
}
shuffle($email2); // ???
?>
$selectie = mysql_query("select data from webform_submitted_data where nid = '26' and cid = '13' ") ;
$email2=array(); // maakt een lege array
while($row=mysql_fetch_assoc($selectie)){
$email2[]=$row['data']; // zet 'data' in je array email2
echo $row['data']; // geeft de inhoud weer
}
shuffle($email2); // ???
?>
alleen gaat hete bij het echoen goed, maar niet zoals het verder zou moeten werken...
Voorheen had ik dit...
Code (php)
Nu moet dit ook gebeuren met het vernieuwde script. Ik denk dat er nog iets bij moet zodat er gesnapt wordt dat dit een soort lijst moet zijn waaruit geshuffeld moet worden toch???
Ik snap niet helemaal wat je wilt,
in je $email heb je een lijst met email adressen, dat heb je ook in $email2,
Wil je de inhoud van $email2 aan $email toevoegen misschien?
in je $email heb je een lijst met email adressen, dat heb je ook in $email2,
Wil je de inhoud van $email2 aan $email toevoegen misschien?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$email2 = array ();
$sql = "
SELECT data
FROM webform_submitted_data
WHERE nid = 26 AND cid = 13
";
if ($res = mysql_query ($sql)) {
while ($row = mysql_fetch_assoc ($res)) {
$email2[] = $row['data'];
}
echo '<pre>' . print_r (shuffle ($email2), true) . '</pre>';
}
else {
echo '<pre>' . mysql_error () . '</pre>';
}
?>
$email2 = array ();
$sql = "
SELECT data
FROM webform_submitted_data
WHERE nid = 26 AND cid = 13
";
if ($res = mysql_query ($sql)) {
while ($row = mysql_fetch_assoc ($res)) {
$email2[] = $row['data'];
}
echo '<pre>' . print_r (shuffle ($email2), true) . '</pre>';
}
else {
echo '<pre>' . mysql_error () . '</pre>';
}
?>
ehm nee, moet allebei email2 zijn....sorry voor de verwarring
Gewijzigd op 08/07/2010 11:37:55 door Renzo Massaro
Gegevens worden wel geshuffled, maar je echo'd de waarden niet meer na ahet shufflen.
Als je dat doet, lijkt het me wel goed te zijn.
Als je dat doet, lijkt het me wel goed te zijn.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$selectie = mysql_query("select data from webform_submitted_data where nid = '26' and cid = '13' ") ;
$email2=array(); // maakt een lege array
while($row=mysql_fetch_assoc($selectie)){
$email2[]=$row['data']; // zet 'data' in je array email2
echo $row['data']; // geeft de inhoud weer
}
shuffle($email2); // ???
foreach( $email2 as $key => $value){
echo $value ."<br />";
}
$selectie = mysql_query("select data from webform_submitted_data where nid = '26' and cid = '13' ") ;
$email2=array(); // maakt een lege array
while($row=mysql_fetch_assoc($selectie)){
$email2[]=$row['data']; // zet 'data' in je array email2
echo $row['data']; // geeft de inhoud weer
}
shuffle($email2); // ???
foreach( $email2 as $key => $value){
echo $value ."<br />";
}
hiermee echoed het script de gegevens wel het scherm, maar het moet juist een soort van onzichtbaar geechoed worden zodat daarna de shuffle uit de lijst kan shufflen en deze dan in de te verzenden email plaatst.... dus het werkt wel dat script, maar nog net niet op de goede manier. Het moet dus een soort lijst worden waar daarna uit gekozen kan worden(automatisch) De output van dit script moete dus op de achtergrond wel zichtbaar zijn, maar hoef je niet op het scherm te zien.
ik heb het!! jeeee...
Code (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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?
//1120-1159 Volendam
@mysql_connect("")or die(mysql_error());
@mysql_select_db("on")or die(mysql_error());
$selectie = mysql_query("select data from webform_submitted_data where nid = '26' and cid = '13' ") ;
$email2=array();
while($row=mysql_fetch_assoc($selectie)){
//echo $row['data'], "<br />";
$email2[]=$row['data'];
}
shuffle($email2);
for($i = 0; $i < $aantal; $i++) {
$to = $email2[$i];
$email_naar[] = $to;
$email_naar2 = implode( ',', $email_naar );
$form_values['submitted'][16] = $email_naar2;
$form_values['submitted_tree'][16] = $email_naar2;
$params['16'] = $email_naar2;
drupal_mail('formulier', 'formulier_mail', $to, '', $params, $from);
}
?>
//1120-1159 Volendam
@mysql_connect("")or die(mysql_error());
@mysql_select_db("on")or die(mysql_error());
$selectie = mysql_query("select data from webform_submitted_data where nid = '26' and cid = '13' ") ;
$email2=array();
while($row=mysql_fetch_assoc($selectie)){
//echo $row['data'], "<br />";
$email2[]=$row['data'];
}
shuffle($email2);
for($i = 0; $i < $aantal; $i++) {
$to = $email2[$i];
$email_naar[] = $to;
$email_naar2 = implode( ',', $email_naar );
$form_values['submitted'][16] = $email_naar2;
$form_values['submitted_tree'][16] = $email_naar2;
$params['16'] = $email_naar2;
drupal_mail('formulier', 'formulier_mail', $to, '', $params, $from);
}
?>
Gewijzigd op 08/07/2010 12:05:32 door Renzo Massaro



