gegevens uit database in een array
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);
}
?>
Komt er geen resultaat, omdat de query niet goed is, of omdat je niets echo-d naar de browser?
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
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.
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'];
?>
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...
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)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?
$email=array();
$email[]="[email protected]";
$email[]="[email protected]";
$email[]="[email protected]";
$email[]="[email protected]";
shuffle($email);
?>
$email=array();
$email[]="[email protected]";
$email[]="[email protected]";
$email[]="[email protected]";
$email[]="[email protected]";
shuffle($email);
?>
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???
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>';
}
?>
Gewijzigd op 08/07/2010 11:37:55 door Renzo Massaro
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.
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