我有这个PHP代码:
$number = substr_replace($_POST["number"],"44",0,1);
$sql="SELECT * from channel_did where did LIKE '%".$number."%' AND (client_id = '' OR client_id IS NULL or client_id = '611') AND (extension_id = '' OR extension_id IS NULL) ";
$rs=mysql_query($sql,$pbx01_conn) or die(mysql_error());
while($result=mysql_fetch_array($rs))
{
$numbers_list = $result["did"].'<br>';
$email_body = '<font face="Arial">
Hello, here are some numbers that you have requested.<br><br>
Please be aware that these numbers are in a public pool and not reservered, therefore they could be assigned to another client at any time.<br><br>
Please make your choice as soon as possible to guarantee the number you require.<br><br>
'.$numbers_list.'<br><br>
Kind Regards,<br><br>
Customer Services<br>
Integra Digital<br><br>
tel: 01702 66 77 27<br>
email: support@domain.co.uk<br>
web: www.integradigital.co.uk
</font>';
}
echo $email_body;
sendemail($_POST["emailto"],"Integra Digital <no-reply@domain.co.uk>","VoIP Phone Numbers You Requested",$email_body,"no-reply@domain.co.uk");
它从表中选择行,我需要它只发送一封带有行列表的电子邮件
当我运行SQL时,我知道大约有10行
当它发送电子邮件时,它使用$email_body
变量,但只在电子邮件中放一行。
我创建了一个$numbers_list
变量,它应该有一个所有行的列表,但它只做一行。
创建一个array(),将行数据推送到其中…并在$email_body中使用implode()
;
试试这个
while($result=mysql_fetch_array($rs))
{
$numbers_list[] = $result["did"];
}
$email_body = '<font face="Arial">
Hello, here are some numbers that you have requested.<br><br>
Please be aware that these numbers are in a public pool and not reserved, therefore they could be assigned to another client at any time.<br><br>
Please make your choice as soon as possible to guarantee the number you require.<br><br>
'.implode('<br>',$numbers_list).'<br><br>
Kind Regards,<br><br>
Customer Services<br>
Integra Digital<br><br>
tel: 01702 66 77 27<br>
email: support@integradigital.co.uk<br>
web: www.integradigital.co.uk
</font>';
并且一如既往地反对使用mysql,所以请查看mysqli或PDO
$number_list = Array();
// no need for unneccesary variables
// no need for unneccesary *, SELECT did
$sql="SELECT did from channel_did
WHERE did LIKE '%".substr_replace(mysql_real_escape_string($_POST["number"]),"44",0,1)."%'
AND ( client_id = ''
OR client_id IS NULL
OR client_id = '611'
)
AND ( extension_id = ''
OR extension_id IS NULL
) ";
$rs=mysql_query($sql,$pbx01_conn) or die(mysql_error());
while($result=mysql_fetch_array($rs))
{
$numbers_list[] = $result["did"].'<br>';
}
$email_body = '<font face="Arial">
Hello, here are some numbers that you have requested.<br><br>
Please be aware that these numbers are in a public pool and not reservered, therefore they could be assigned to another client at any time.<br><br>
Please make your choice as soon as possible to guarantee the number you require.<br><br>
'.implode(',',$numbers_list).'<br><br>
Kind Regards,<br><br>
Customer Services<br>
Integra Digital<br><br>
tel: 01702 66 77 27<br>
email: support@integradigital.co.uk<br>
web: www.integradigital.co.uk
</font>';
echo $email_body;