変数同士の引き算が出来ない
初歩的な質問で申し訳ありません。
いろいろ調べて、構文チェックなども行ったのですが、行き詰まってます。。。
なんとか自力で調べながらやってきたのですが、いよいよお手上げです。。。
■処理内容
端末からバーコードの値を読み取り、条件のパラメータを付加してURLで送り
カラム内のstock数をupdateする処理です。
・パラメーターのmodeの値を読み取って「0」の出庫ならば減算、
「1」の入庫ならば加算で合計の値をupdateします。
■現状と解決したい点
switch($state) case 0:が計算されません
switch($state) case 1:は計算結果がカラムに格納されます。
■端末アプリから吐出されるパラメーター(アプリ名:istocker)
http://デモサイト/stock-regist-istocker.php?base_id=2&group_id=1&mode=0&password=&date=2011-02-22%2005:32:00&key=100&barcode=nabe-01
(必要な項目はmodeとkeyとbarcodeの3項目のみです。上記パラメータは
端末アプリ依存の物なので変更はできません)
・mode://登録状態(0=出庫 1=入庫 2=手動出庫 3=手動入庫 9=削除)
・key://入荷数
・barcode://登録された商品番号
■環境
CentOS 6.2
MySQL 5.1.67
PHP 5.3.3
■補足
なんでこのような処理を。。。と思われるかと思いますが、上述のように
パラメーターが端末アプリ依存のため「ー(マイナス)」の値を吐出せないので(泣
下記ソースと同じ内容でブラウザ入力用のphpも用意したのですが、そちらでは
「ー(マイナス)」の値で無事に加算・減算ができました。
■ソース
<?php
$comp_flg = 1;
if($_GET[barcode] && $_GET[key] && $_GET[mode]){ //データが全て入力されている場合
$no = $_GET[barcode]; //登録された商品番号
$quant = $_GET[key]; //入荷数
$state = $_GET[mode]; //登録状態(0=出庫 1=入庫 2=手動出庫 3=手動入庫 9=削除)
$mysql_con = mysql_connect("localhost","DBUSER","PASSWORD");
if($mysql_con == false){
print ('MySQL接続に失敗しました<br>');
}else{
print ('接続完了しました<br>');
}
if(mysql_select_db("DBNAME",$mysql_con)){
//sample01のデータベースに接続し、接続の確認
print "データベースに接続しました<br>";
}else{
die("接続に失敗しました<br>");
//接続に失敗したときにMySQLの接続を切る
}
$mytbl = mysql_query("select stock from dtb_products_class where product_code='".$no."'",$mysql_con); //現状の在庫データーを呼び出すクエリー
if(!$mytbl){
die(mysql_error()); //エラーの場合はカットする
print "エラーカット";
}
switch($state){
case 0:
$zaiko = mysql_fetch_array($mytbl);
$kei=$zaiko[0] - $quant; //現状の在庫に新たな在庫を減算する
$mytbl = mysql_query("UPDATE dtb_products_class set stock='".$kei."' where product_code='".$no."'"); //在庫数を商品番号で指定して更新する
break;
case 1:
$zaiko = mysql_fetch_array($mytbl);
$kei=$zaiko[0] + $quant; //現状の在庫から在庫を加算する
$mytbl = mysql_query("UPDATE dtb_products_class set stock='".$kei."' where product_code='".$no."'"); //在庫数を商品番号で指定して更新する
break;
}
$comp_flg = 0;
if(!$mytbl){
die(mysql_error()); //エラーの場合はカットする
print "エラーカット";
}
}
?>
何卒、お力、ヒントなどよろしくお願いします m(__)m
補足
ご回答、ありがとうございます! 教えて頂いたサイトのバッグは持っているのです。 捜しているのは、クラシックトラベルバッグという物になります。 よろしくお願いします。