-4

フィールド情報: 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;

送信をクリックした後の URL:

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' のようにする必要があります。

4

1 に答える 1

0

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;
于 2012-08-31T07:36:10.790 に答える