Avatar billede amx_dk Nybegynder
31. marts 2006 - 16:01 Der er 5 kommentarer og
1 løsning

udtræk fra flere tabeller

jeg sidder og nørder med et nyhedsmails script, men har et problem.  Jeg skal have trukker email adresser ud fra to tabeller. hvordan gør jeg det.  lige nu er koden sådan her: men trækker kun fra den ene tabel.

$query  = mysql_query("SELECT * FROM customerstest WHERE customers_newsletter = '1'") or die(mysql_error());
    if(mysql_num_rows($query)>0)
    {
        while($row = mysql_fetch_assoc($query))
        {  $mail->ClearAddresses();
            $mail->AddAddress($row['customers_email_address']);
            if(!$mail->Send())
            {
              echo "Message was not sent to: ".$row['customers_email_address']."<p>";
              echo "Mailer Error: " . $mail->ErrorInfo;
              exit;
            }
            echo "Message has been sent to: ".$row['customers_email_address']."<br />";       
        }
    }   
}
Avatar billede fixxxer Nybegynder
31. marts 2006 - 18:32 #1
Prøv at rode lidt med UNION:

SELECT email_felt FROM email_tabel_1
UNION
SELECT email_felt FROM email_tabel_2

Bemærk at felterne ved en UNION skal hedde det samme, så hvis feltet hvor du gemmer email-adressen, hedder noget forskelligt i de to tabeller, skal du tvinge dem til at hedde det samme med AS email_felt ala:

SELECT emailadresse AS email_felt FROM email_tabel_1
UNION
SELECT email AS email_felt FROM email_tabel_2
Avatar billede amx_dk Nybegynder
02. april 2006 - 18:45 #2
hmm, underligt modtog ikke en mail på denne. 
De hedder ikke det samme, ville det se sådan her ud så?
$query  = mysql_query("SELECT * AS email_felt FROM customerstest WHERE customers_newsletter = '1'
UNION
SELECT * AS email_felt FROM subscribers"") or die(mysql_error());
Avatar billede fixxxer Nybegynder
10. april 2006 - 21:35 #3
Jeg har også først set denne nu.. mail virker vist ikke så godt på eksperten i disse dage :)

Nej, du kan ikke sige * AS email_felt, da * betyder alle kolonner i tabellen - og dem kan du ikke alle navnegive "email_felt".

Du har en kolonne i hver af dine 2 tabeller, der hedder noget med "email", og det er den du er interesseret i. Hvis du også er interesseret i andre kolonner, så skal de skrives separeret med komma.

$query  = mysql_query("SELECT email_feltet_i_tabel1 AS email_felt FROM customerstest WHERE customers_newsletter = '1'
UNION
SELECT email_feltet_i_tabel2 AS email_felt FROM subscribers") or die(mysql_error());
Avatar billede amx_dk Nybegynder
10. april 2006 - 23:00 #4
Jeg har desværre fundet en løsning
Avatar billede fixxxer Nybegynder
10. april 2006 - 23:13 #5
En anden end jeg foreslog?

Hvis ja, så accepter dit eget svar.

Hvis det er en løsning andre kunne drage nytte af, så ville opfordre dig til at poste den her.
Avatar billede amx_dk Nybegynder
10. april 2006 - 23:17 #6
nej det hele var i forbindelse med et nyheds script som jeg fik en til og lave. så jeg brugte det desværre ikke til noget
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester