私は購読者に電子メールを送信しています。すべての電子メールアドレスはMYSQlのテーブルに挿入されています。しかし、私は同じデータベースの他のテーブルにあるいくつかの記事を送りたいと思う。私を助けてください。 "$ name"では1行しか取得できません(与えられたIDを持つすべてのデータを取得したい)。PHPでメールを送信中にMYSQLからデータを取得する
<?php if(isset($_POST['send'])){
$servername = "localhost";
$username = "username ";
$password = "password ";
$dbname = "db";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM table1 where id in (1, 3, 2, 4)";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$name = $row["title"];
}}else {}
$conn->close();
}
?>
<?php if(isset($_POST['send'])){
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "db";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT email, subid FROM table2";
$result = $conn->query($sql);
if ($result->num_rows > 0) {while($row = $result->fetch_assoc()){
$subid = $row["subid"];
$email_to = $row["email"];
$subject = "Newsletter | OnlineDealsIndia";
$header = "From: OnlineDealsIndia <[email protected]>\r\n";
$header.= "MIME-Version: 1.0\r\n";
$header.= "Content-Type: text/html; charset=utf-8\r\n";
$header.= "X-Priority: 1\r\n";
$message = '<h3>Todays Top Deals!</h3><hr>
<li>' .$name. '</li>
<a href="http://www.onlinedealsindia.in/newsletter/unsubscribe/?subid=' .$subid. '">Click Here</a> To Unsubscribe
';
mail($email_to,$subject,$message,$header);
}}else {}
$conn->close();
}
?>
"$ name"には、上記のIDを指定したすべての行を取得する必要があります。
すべての回答が高く評価されます。ありがとうございました!
を。それを配列に追加したくないのですか? – tadman
"$ name"は4行すべてをフェッチして表示する必要はありません。 –
'$ name = $ value'は魔法のようにリストを累積しません。 '$ name [] = $ value'は配列に追加されます。 – tadman