Javascript 如何在php中从电子邮件中的数组构建html表格
我试图使用Javascript收集的数据生成一封PHP电子邮件,并以数组形式传递给PHP文件 js中的数组基本上如下所示Javascript 如何在php中从电子邮件中的数组构建html表格,javascript,php,arrays,ajax,Javascript,Php,Arrays,Ajax,我试图使用Javascript收集的数据生成一封PHP电子邮件,并以数组形式传递给PHP文件 js中的数组基本上如下所示 Menu[ item(name,price,multiplier[],ingred), item(name,price,multiplier[],ingred) ] 数组菜单[]是动态创建的,然后通过$.ajax调用传递 $.ajax({ url: 'sendEmail.php', type: 'post',
Menu[
item(name,price,multiplier[],ingred),
item(name,price,multiplier[],ingred)
]
数组菜单[]是动态创建的,然后通过$.ajax调用传递
$.ajax({
url: 'sendEmail.php',
type: 'post',
data: {
emailTo: emailToVal,
tel: telVal,
subject: subjectVal,
message: messageVal,
mijnMenu: JSON.stringify(mijnMenu)},
我需要从数组的数据构建一个表并发送一封电子邮件。我不知道如何构建表的行
我的PHP脚本是
$body = "<p>Hi,</p>";
$body .= "<p>I have received your mail....</p>;"
$body .= "<p>Your menu :</p>";
$body .= "<table style='border: 1px black solid; width: 80%;'><tbody>";
if (isset($_POST["myMenu"])) {
$myMenu = json_decode($_POST["myMenu"]);
foreach($myMenu as $row){
$row = "<tr><td>". $myMenu=>name ."</td><td>". $myMenu=>price."</td><td>". $myMenu=>multiplier[1]. "</td></tr>";
$body .= $row;
}
}
$body .= "</tbody></table>";
$body .= "</body></html>";
$body=“Hi,”;
$body.=“我已收到您的邮件…”
$body.=“您的菜单:”;
$body.=”;
如果(isset($_POST[“myMenu”])){
$myMenu=json_decode($_POST[“myMenu”]);
foreach($myMenu作为$row){
$row=“”.$myMenu=>name。”“$myMenu=>price。”“$myMenu=>multiplier[1]”;
$body.=$row;
}
}
$body.=”;
$body.=”;
提前谢谢你 foreach的
循环应该是:
foreach($myMenu as $row){
$tr = "<tr><td>". $row->name ."</td><td>". $row->price."</td><td>". $row->multiplier[1]. "</td></tr>";
$body .= $tr;
}
foreach($myMenu作为$row){
$tr=“”.$row->name。”“$row->price。”“$row->乘数[1]”;
$body.=$tr;
}
访问对象属性时使用了错误的语法(=>
而不是->
),并且访问了错误的变量--$myMenu
是所有菜单项的数组,而$row
是循环中的当前项。您还在迭代和添加到$body
的临时字符串中使用相同的变量$row
——您正在重用变量$row
——首先它是$myMenu
的元素,然后您还将其用作表行的字符串。为什么不在Javascript端而不是PHP端创建HTML表?$myMenu=>name
应该是$row->name
。Eric,我需要从用户那里收集数据并将其发送到他/她的电子邮件。有没有一种方法可以在js中构建一个emal并将其发送到PHP脚本以电子邮件的形式发送?这样会更好吗?