【问题标题】:formating the result of foreach格式化 foreach 的结果
【发布时间】:2012-08-31 07:12:56
【问题描述】:

字段信息:logi_jo[varchar]、logi_cntrlnum[int]、logi_remark[varchar]、logi_poin[varchar]

var val = document.getElementById("logi_jo").value;
var val2 = document.getElementById("logi_cntrlnum").value;
var val3 = document.getElementById("logi_remark").value;
var val4 = document.getElementById("logi_poperson").value;
document.location.href = "ppc_logistic-mngt_home2.php?logi_jo=" + val + "&logi_cntrlnum=" + val2 + "&logi_remark=" + val3 + "&logi_poperson=" + val4;

点击提交后的网址:

sample_link.php?logi_jo=123a&logi_cntrlnum=000002&logi_remark=deliver&logi_poperson=chunkchunks

$logi_jo = $_REQUEST['logi_jo'];
$logi_cntrlnum = $_REQUEST[logi_cntrlnum];
$logi_remark = $_REQUEST['logi_remark'];
$logi_poin = $_REQUEST['logi_poperson'];

if(isset ($_GET)) {
  foreach ($_GET as $key => $value)

  if($key != '') {
    $sql .= "$key = '$value' && "; 
  }
}

$sql= substr_replace ($sql , '', strlen($sql) -3 , 2);
echo $sql;

输出:logi_jo = '1' && logi_cntrlnum = '2' && logi_remark = '3' && logi_poperson = '4'

问题:如何修改输出.. 例如 logi_remark 没有答案.. 其中准备 输出变为: logi_jo = '123a' && logi_cntrlnum = ' 000002' && logi_remark = ''&& logi_poperson='chunkchunks' 我怎样才能这样修改: logi_jo = '123a' && logi_cntrlnum = '000002' && logi_poperson='chunkchunks'(解释:如果变量等于零(0)或''(没有答案)它不会出现..)

最后,如果可能,如果字段是 [int] 它没有 '' 像这样 logi_cntrlnum = '000002' 它应该像这样 logi_cntrlnum = 000002 谢谢你 xD

【问题讨论】:

  • 请格式化您的问题,这很难阅读和理解...

标签: php jquery


【解决方案1】:

你可以简单地使用 if else 语句

foreach ($_GET as $key => $value)
    if($key != '') {
        if($key=='logi_remark' && ($value=='' || $value==0))
            $value='chunkchunks';
        $sql .= "$key = '$value' && ";
    }

除了你的“000002”不是int,但你可以把它变成2

if(is_numeric($value))
    $value=(int)$value;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 2018-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多