THINKPHP 質問を追加

WBOY
WBOYオリジナル
2016-06-23 13:29:101110ブラウズ

thinkphp について質問したいのですが:
問題は次のように説明されています:
ページからパラメーター ID を渡し、その ID 値をデータベースに書き込む必要がありますが、そのプロセス中にパラメーターが設定されていることがわかりました。送信時に値を null にすると、データベースだけでなく挿入も行われます。
$viewpoint_id で取得した値は空です
コードは次のとおりです:

public function food_add() {        $Food=M('Food');           $FoodType=M("FoodType");        if (isset($_POST['save'])) {        	 //判断是否已经添加了菜品        	 $viewpoint_id= $_GET['id'];                 $id=$_POST['names'];		   $this->food_add2($id,$viewpoint_id);        	          } else {		    	  // 显示数据        	  $lists = $Food->field("food.name,food.food_type,food.price,food.id,manager.path")		                ->table($Food->getTableName()." food")		                ->join(M("file_manager")->getTableName()." manager on food.pic = manager.id")		                ->page($page)->order('food.id desc')->select();		        		        foreach ($lists as $k => $v) { 		            $lists[$k]['path'] = __ROOT__.$lists[$k]['path'];		            $lists[$k]['type_name'] = $FoodType->where("id={$v['food_type']}")->getField('type_name');		        }            $this->assign('lists', $lists);            $this->display('food_add');  		    }    }public function food_add2($id,$vid){    	    $Food=M('Food');             $FoodType=M("FoodType");          $FoodDinner=M('ViewpointDinner');      	  //获取FOODID      	  $food_id= implode(',' ,$_POST['names']);      	  $food_detail=$Food->where(array('id'=>array('in',$food_id)))->select();      	  $FoodDinner->create();          foreach ($food_detail as $k => $v) {		    	  	$FoodDinner->id = $food_detail[$k]['id'];		          $FoodDinner->type = $food_detail[$k]['food_type'];		          $FoodDinner->names = $food_detail[$k]['name'];		          $FoodDinner->price = $food_detail[$k]['price'];		          $FoodDinner->pic = $food_detail[$k]['pic'];		          $FoodDinner->create_time = strtotime(date('Y-m-d H:i:s'));		          $FoodDinner->sort=1; //排序		          $FoodDinner->is_low=1; //低消		          $FoodDinner->viewpoint_id=$vid;		          $FoodDinner->add();  	      }    }	


$viewpoint_id を外層で取得しようとしたところ、値は取得できましたが、forache になると空になってしまいました。この問題に対処するには?


ディスカッションに返信(解決策)

//判断是否已经添加了菜品             $viewpoint_id= $_GET['id'];                 $id=$_POST['names'];

投稿を1つずつ取得する方法

投稿方法は何ですか?
POST?

@namelesswei @shengli881026 2 つの返信ありがとうございます。$_GET['id'] は他のページから渡されたパラメータを取得するためのものです。パラメータを渡すリンクは次のとおりです。 $_POST[' save'] と $_GET['id'] は 2 つの異なるソースに属しているため、これら 2 つの値は同時に存在することはできません

@xuzuning どう対処しますか?


フォームには action 属性があり、ID を書き込むことができます

フォームには隠しコントロールを渡す必要がありますが、それは $_GET['id'] ではなく $_POST['id'] です

@ xuzuning ありがとうございます あなたの返信で私の​​問題は解決しました。 @namelesswei @shengli881026 さんにも返信いただきありがとうございます。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:LNMP環境設定-PHP次の記事:LNMP環境設定-PHP