2016-05-09 6 views
0

こんにちは私は多くの引数/パラメータの配列を書くには、実際にJavaで動作するPHPで新しくなりました。insertSQLの機能はたくさんのSQLを持っています。オブジェクトを挿入する必要があります。私が正しくあなたを理解していれば、あなたに引数の配列でPHP関数を作る方法

//Store User into MySQL DB 
$res = $db->insertSQL(
    $data[$i]->id, 
    $data[$i]->location_id, 
    $data[$i]->section_id, 
    $data[$i]->inspection_date, 
    $data[$i]->photo_entire_path, 
    $data[$i]->photo_isolator_path, 
    $data[$i]->pole_no, 
    $data[$i]->pole_iron, 
    $data[$i]->pole_iron, 
    $data[$i]->pole_iron); 


//Based on inserttion, create JSON response 
if($res){ 
    $b["id"] = $data[$i]->id; 
    $b["status"] = 'yes'; 
    array_push($a,$b); 
}else{ 
    $b["id"] = $data[$i]->id; 
    $b["status"] = 'no'; 
    array_push($a,$b); 
} 

ありがとうございことは今のところ、それはこの

$res = $db->insertSQL(
    $data[$i]->id, 
    $data[$i]->location_id, 
    $data[$i]->section_id, 
    $data[$i]->inspection_date, 
    $data[$i]->photo_entire_path, 
    $data[$i]->photo_isolator_path, 
    $data[$i]->pole_no, 
    $data[$i]->pole_iron, 
    $data[$i]->pole_concrete, 
    $data[$i]->pole_wood, 
    $data[$i]->pole_condition_broken, 
    $data[$i]->pole_condition_tilt, 
    $data[$i]->pole_condition_shift, 
    $data[$i]->cros_arm_twist, 
    $data[$i]->cross_arm_rust, 
    $data[$i]->cross_arm_tilt, 
    $data[$i]->arm_tie_repair, 
    $data[$i]->arm_tie_rust, 
    $data[$i]->arm_tie_brace, 
    $data[$i]->isolator_fulcrum_r_leak, 
    $data[$i]->isolator_fulcrum_r_broken, 
    $data[$i]->isolator_fulcrum_s_leak, 
    $data[$i]->isolator_fulcrum_s_broken, 
    $data[$i]->isolator_fulcrum_t_leak, 
    $data[$i]->isolator_fulcrum_t_broken, 
    $data[$i]->isolator_pull_r_leak, 
    $data[$i]->isolator_pull_r_broken, 
    $data[$i]->isolator_pull_s_leak, 
    $data[$i]->isolator_pull_s_broken, 
    $data[$i]->isolator_pull_t_leak, 
    $data[$i]->isolator_pull_t_broken, 
    $data[$i]->arrester_r_broken, 
    $data[$i]->arrester_s_broken, 
    $data[$i]->arrester_t_broken, 
    $data[$i]->conductor_r_buyer, 
    $data[$i]->conductor_r_loose, 
    $data[$i]->conductor_s_buyer, 
    $data[$i]->conductor_s_loose, 
    $data[$i]->conductor_t_buyer, 
    $data[$i]->conductor_t_loose, 
    $data[$i]->connector_pg_r_35mm, 
    $data[$i]->connector_pg_r_70mm, 
    $data[$i]->connector_pg_r_150mm, 
    $data[$i]->connector_pg_s_35mm, 
    $data[$i]->connector_pg_s_70mm, 
    $data[$i]->connector_pg_s_150mm, 
    $data[$i]->connector_pg_t_35mm, 
    $data[$i]->connector_pg_t_70mm, 
    $data[$i]->connector_pg_t_150mm, 
    $data[$i]->bending_wire_r, 
    $data[$i]->bending_wire_s, 
    $data[$i]->bending_wire_t, 
    $data[$i]->ultrasonic_r, 
    $data[$i]->ultrasonic_s, 
    $data[$i]->ultrasonic_t, 
    $data[$i]->gws_exist, 
    $data[$i]->gws_not_exist, 
    $data[$i]->tree_exist, 
    $data[$i]->tree_not_exist, 
    $data[$i]->longitude, 
    $data[$i]->latitude, 
    $data[$i]->suggestion, 
    $data[$i]->descr 
); 
+1

緯度>

$named_array = json_decode($named_array) echo $named_array->longitude 

あなたは$ named_array-として任意のキーと値のペアにアクセスすることができますでしょうか?あなたは何を達成しようとしていますか? –

+0

このような何らかの種類のInsertSQL($ id、引数の配列); –

+0

あなたの 'insertSQL'関数は、どのテーブルを挿入するのか、そしてフィールドのマッピング方法を推測するのでしょうか? –

答えて

0

のように見え、これはあなたの関数がどのように見えるかです:

機能insertSQL(配列$ SQLDATA) { ここで$ sqlData変数から値を抽出します。 }

0

call_user_func_arrayfunc_get_argsjson_encodejson_decode関数(引数の配列に対応する)を用いて以下の溶液を試してください。私はまた、右に初期オブジェクト$data[$i]を渡す示唆する、が

... 
$encoded = json_encode($data[$i]); 
$fields_arr = json_decode($encoded, true); // to get an array of object properties with values. 
// Also you should, probably, check the order of fields 
$fields_arr['id'] = false; 
$fields_arr = array_filter($fields_arr); // for removing the 'id' field 
$args = ['id' => $data[$i]->id]; // first argument 
call_user_func_array(array($db, 'insetSQL'), array_merge($args, $fields_arr)); // it also may require your current Namespace in the first arg 
... 
// Then, the 'insetSQL' method should process the arguments in the following manner: 
function insetSQL($fields = []) { 
    $fields = func_get_args(); 
    $id = $fields[0]; 
    // adjusting the rest of fields ($fields[1], $fields[2] ...) 
    ... 

} 

をパラメータとしてinsetSQL方法およびSQL INSERT文の必要なフィールドを取得

+0

RomanPrekhrestありがとう、私はそれを試してみるよ非常にありがとう –

0

としてJSONオブジェクトを作成します。
$named_array = array(
      "longitude" => "12.2" 
      "latitude" => "12.2" 
); 
$named_array = json_encode($named_array); 

この$ named_arrayはフィールドの配列にすることができます。

$ named_arrayオブジェクトを引数として他の関数に渡すことができます。

その後、私はあなたの質問を取得しない

+0

私はあなたに感謝Bラマン、私はそれを試してみるよ –

関連する問題