我在POST中有一个有2个字段的数组,并且基于第一个字段从mysql表中获取匹配的数据来显示,它在这里工作正常。 但是数组中的第二个字段可能是空的,我不想在这里显示它们是我的代码。
<p class="yorder">
<?php
foreach ($_POST as $key => $value) {
$exp_key = substr($key, 0, 1);
if($exp_key[0] == 'p'){
if($i % 2 != 0){
$tprod = mysql_real_escape_string($value);
$sql = "SELECT * FROM menuitem WHERE prodname = '". $tprod ."'";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
?>
<span class="o1"> </span>
<span class="o2"><?php echo $value; ?></span>
<?php } if($i % 2 != 0){ $i++; continue;} ?>
<span class="o3"><?php echo $value; ?></span>
<span class="o4"><?php echo $value * $row['price']; ?></span>
<?php $i++;}
}
?>
</p>
这是我的结果的屏幕截图
感谢
我的逻辑是:首先我用数据库检查第一个数组项并获取它的值,然后我继续循环并得到第二个数组项并显示它。
我现在要做的是:我在POST中获取此数组 数组([prodname0] =&gt;鸡肉三明治[port-0] =&gt; [prodname1] =&gt;烤鸡三明治[port-1] =&gt; 2 [prodname2] =&gt; Tanu's特制鸡肉三明治[port-2] =&gt; 2 [prodname3] =&gt;奶酪三明治[port-3] =&gt; [prodname4] =&gt;鸡肉香肠三明治[port-4] =&gt; [prodname5] =&gt;鸡肉火腿三明治[port-5] =&gt; [prodname6] =&gt;蛋和Mayoinnaise三明治[port-6] =&gt; [prodname7] =&gt; Bhetki Fry [port-7] =&gt; [prodname8] =&gt; Pao Bhaji [port-8] =&gt; [prodname9] =&gt; Puffs [port-9] =&gt; [prodname10] =&gt; Chicken Cutlet [port-10] =&gt; [prodname11] =&gt;羊肉Chop [端口] -11] =&gt; [prodname12] =&gt;蛋恶[port-12] =&gt; [prodname13] =&gt; Paneer Cutlet [port-13] =&gt;)
我可以将其更改为:Chicken Sandwich =&gt;烤鸡三明治=&gt; 2 这将完成我的工作我认为
答案 0 :(得分:1)
一个简单的解决方案就是:
foreach ($_POST as $key => $value) {
if(empty($value){
continue;
}
// Other code
}
首先检查POST值是否为空,如果是,请使用continue
关键字跳过循环中的其余代码。
答案 1 :(得分:0)
用这个
替换你的php代码<?php
foreach ($_POST as $key => $value) {
$exp_key = substr($key, 0, 1);
if(!empty($key) || !empty($value)){ //edited portion
if($exp_key[0] == 'p'){
if($i % 2 != 0){
$tprod = mysql_real_escape_string($value);
$sql = "SELECT * FROM menuitem WHERE prodname = '". $tprod ."'";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
?>
<span class="o1"> </span>
<span class="o2"><?php echo $value; ?></span>
<?php } if($i % 2 != 0){ $i++; continue;} ?>
<span class="o3"><?php echo $value; ?></span>
<span class="o4"><?php echo $value * $row['price']; ?></span>
<?php $i++;}
}
} //edited portion
?>