排序PHP新手。
好的。我在两种形式上为各种产品制作了一大堆字段。表格有效。脚本是用PHP编写的,表单是HTML。填写完成后发送电子邮件。
然而,它发送所有字段,即使是空白的字段,因此订购数量的数字列是从上到下的零,一,二,三,等等。本身并不是真正的错误,而是阅读的人它现在必须跋涉并查找数量的说法,五到十个不同的项目,并忽略旁边有零的产品。
相信我,目前的回报甚至不如我下面的回报那么容易阅读,但相当混乱,你可能很容易错过产品请求,特别是如果忙着许多订单进来。
我没有对它进行编程以返回任何空白字段的零,但我甚至不希望它返回根本没有订购的产品的名称。我只是希望它只返回填充的字段 - 没有别的,但我不知道如何。
CURRENT OUTPUT
Product #1 1
Product #2 0
Product #3 3
Product #4 0
Product #5 0
Product #6 0
Product #7 0
Product #8 0
Product #9 0
Product #10 1
Product #11 0
Product #12 0
Product #13 2
Product #14 0
Product #15 0
Product #16 0
Product #17 0
Product #18 0
Product #19 0
期望的输出
Product #1 1
Product #3 3
Product #10 1
Product #13 2
答案 0 :(得分:1)
我猜你的电子邮件是通过循环遍历$_POST
数组来构建的。所以这样的事情应该会有所帮助:
foreach($_POST AS $key => $val) {
if(empty($val)) {
unset($_POST[$key]);
}
}
现在,当您构建电子邮件时,零值POST变量甚至不存在。
更新现在,我seen your full code(显然是写入文件,而不是直接发送电子邮件),您需要更改此行(13):
while (list ($key, $val) = each ($query_vars)) {
然后在它之后添加一个简单的检查,最后得到:
while (list ($key, $val) = each ($query_vars)) {
if(empty($val)) continue; // If we have an empty value, ignore and move on
试一试。