gegevens uit database in een array

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Renzo Massaro

Renzo Massaro

08/07/2010 09:10:38
Quote Anchor link
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...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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);
        }

?>
 
PHP hulp

PHP hulp

24/04/2024 18:43:34
 
Erik Rijk

Erik Rijk

08/07/2010 09:34:24
Quote Anchor link
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?
 
John D

John D

08/07/2010 09:41:18
Quote Anchor link
Probeer ook het afhandelen van MySQL foutmeldingen mee te nemen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
        if($selectie)
        {

        echo 'OK';
        ->
hier je code
        }
        else
        {
        // Mysql error
        echo 'Fout in de query afhandeling.';
        echo mysql_error();
        }


?>
Gewijzigd op 08/07/2010 09:42:37 door John D
 
Mark L

Mark L

08/07/2010 09:50:59
Quote Anchor link
Komt er geen resultaat, omdat de query niet goed is, of omdat je niets echo-d naar de browser?
 
Dennis Ameling

Dennis Ameling

08/07/2010 09:51:37
Quote Anchor link
Je hebt cid naar ontvanger omgezet, probeer dit dan eens:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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);
        }

?>
Gewijzigd op 08/07/2010 09:55:49 door Dennis Ameling
 
Renzo Massaro

Renzo Massaro

08/07/2010 10:09:01
Quote Anchor link
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
 
- SanThe -

- SanThe -

08/07/2010 10:27:01
Quote Anchor link
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.
Gewijzigd op 08/07/2010 10:28:31 door - SanThe -
 
Renzo Massaro

Renzo Massaro

08/07/2010 10:35:53
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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'];      
?>


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...
 
- SanThe -

- SanThe -

08/07/2010 10:41:14
Quote Anchor link
Het lijkt mij dat cid (c-id) een id (integer) is en geen emailadres.
 
Jeroen Jansen

Jeroen Jansen

08/07/2010 10:42:08
Quote Anchor link
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)
PHP script in nieuw venster Selecteer het PHP script
1
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'];      
?>
 
Renzo Massaro

Renzo Massaro

08/07/2010 10:47:48
Quote Anchor link
laat maar, mijn query klopte niet, had verkeerde tabellen aangegeven...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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);
?>

nu moet ik alleen gaan testen of er ook geshuffeld word met de emailadressen, maar dat horen jullie of dat gaat lukken...
 
Renzo Massaro

Renzo Massaro

08/07/2010 10:53:06
Quote Anchor link
hoe krijg ik de emailadressen nu eigenlijk netjes onder elkaar te staan? nu ziet het er namelijk zo uit

[email protected]@hotmail.com
 
Johan Dam

Johan Dam

08/07/2010 10:56:09
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo $row['data'], "<br />";
?>
Gewijzigd op 08/07/2010 10:56:28 door Johan Dam
 
Renzo Massaro

Renzo Massaro

08/07/2010 11:12:43
Quote Anchor link
nu is het zo geworden..

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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);             // ???
?>



alleen gaat hete bij het echoen goed, maar niet zoals het verder zou moeten werken...
Voorheen had ik dit...
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?
$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???
 
Johan Dam

Johan Dam

08/07/2010 11:33:29
Quote Anchor link
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?
 
Jan Koehoorn

Jan Koehoorn

08/07/2010 11:35:17
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>';
    }

    
?>
 
Renzo Massaro

Renzo Massaro

08/07/2010 11:36:46
Quote Anchor link
ehm nee, moet allebei email2 zijn....sorry voor de verwarring
Gewijzigd op 08/07/2010 11:37:55 door Renzo Massaro
 
Jeroen Jansen

Jeroen Jansen

08/07/2010 11:36:55
Quote Anchor link
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.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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 />";
}
 
Renzo Massaro

Renzo Massaro

08/07/2010 11:53:04
Quote Anchor link
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.
 
Renzo Massaro

Renzo Massaro

08/07/2010 12:04:54
Quote Anchor link
ik heb het!! jeeee...
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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);
  }

?>
Gewijzigd op 08/07/2010 12:05:32 door Renzo Massaro
 



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.