31. marts 2006 - 16:01Der 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 />"; } } }
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
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());
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());
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
Synes godt om
Ny brugerNybegynder
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.