来自 MySQL 查询的动态邮件列表
Dynamic Mailing List from MySQL query
我最近在我的 Wordpress (woocommerce) 网站上实施了一个 "rewards points" 系统。
我构建了一个 MySQL 查询来显示每个客户的姓名、电子邮件地址和当前积分余额:
SELECT
b1.meta_value AS first_name,
b2.meta_value as last_name,
b3.meta_value as points_balance,
a.user_email,
p.points_balance
FROM wp_zaydb6_users a
INNER JOIN wp_usermeta b1 ON b1.user_id = a.ID AND b1.meta_key = 'first_name'
INNER JOIN wp_usermeta b2 ON b2.user_id = a.ID AND b2.meta_key = 'last_name'
INNER JOIN wp_usermeta b3 ON b3.user_id = a.ID AND b3.meta_key = 'wc_points_balance'
WHERE b3.meta_value > 0
这个 returns 像这样:
John Smith 511 j.smith@gmail.com
Michael Barrymore 71 MICHAEL@BARRYMORE.COM.AU
Bob Monkhouse 326 Bob.monkhouse@bobmonk.at
Jane Doe 176 Jane.Doe@janedoe.ch
Ricky Martin 511 r.martin@gmail.com
我的下一步是构建一个脚本(bash,但最好是 PHP),它将遍历每条记录,提取每条 "First_name",打印 points_balance并将其通过电子邮件发送给相关用户。这一切都需要包含在 HTML 格式的电子邮件中,而不是纯文本。
我没有构建动态邮件列表,所以这对我来说是全新的。
最好的前进方向是什么?
我有一个旧系统必须做这样的事情,我做的速度非常快,但是很笨拙。
$row_message = fetch_html_template('renew_error'); //returns the html template text, that has special markings like [name], [username].
$row_message['text'] = str_replace('[name]', $variableThatHasUsersName, $row_message['text']);
这是一种非常肮脏且快速的修复方法。如果你想扩展它,你可以使用 str_replace 多次来获得任意数量的变量。
P.S。如果这对您有帮助,请采纳答案。
我最近在我的 Wordpress (woocommerce) 网站上实施了一个 "rewards points" 系统。
我构建了一个 MySQL 查询来显示每个客户的姓名、电子邮件地址和当前积分余额:
SELECT
b1.meta_value AS first_name,
b2.meta_value as last_name,
b3.meta_value as points_balance,
a.user_email,
p.points_balance
FROM wp_zaydb6_users a
INNER JOIN wp_usermeta b1 ON b1.user_id = a.ID AND b1.meta_key = 'first_name'
INNER JOIN wp_usermeta b2 ON b2.user_id = a.ID AND b2.meta_key = 'last_name'
INNER JOIN wp_usermeta b3 ON b3.user_id = a.ID AND b3.meta_key = 'wc_points_balance'
WHERE b3.meta_value > 0
这个 returns 像这样:
John Smith 511 j.smith@gmail.com
Michael Barrymore 71 MICHAEL@BARRYMORE.COM.AU
Bob Monkhouse 326 Bob.monkhouse@bobmonk.at
Jane Doe 176 Jane.Doe@janedoe.ch
Ricky Martin 511 r.martin@gmail.com
我的下一步是构建一个脚本(bash,但最好是 PHP),它将遍历每条记录,提取每条 "First_name",打印 points_balance并将其通过电子邮件发送给相关用户。这一切都需要包含在 HTML 格式的电子邮件中,而不是纯文本。
我没有构建动态邮件列表,所以这对我来说是全新的。
最好的前进方向是什么?
我有一个旧系统必须做这样的事情,我做的速度非常快,但是很笨拙。
$row_message = fetch_html_template('renew_error'); //returns the html template text, that has special markings like [name], [username].
$row_message['text'] = str_replace('[name]', $variableThatHasUsersName, $row_message['text']);
这是一种非常肮脏且快速的修复方法。如果你想扩展它,你可以使用 str_replace 多次来获得任意数量的变量。
P.S。如果这对您有帮助,请采纳答案。