2016-11-30 6 views
0

私はこの1つを含む、いくつかのPOST値で私のサーバーにリクエストを送信するAPIでループを働いている:PHP - POST値によってN回

'NumMedia' => '1' 

NumMediaの値がどのように多くの追加のパラメータを決定します受信されます。その上

'MediaContentType0' => 'image/jpeg' 
'MediaUrl0' => 'https://api.server.com/2010-04-01/Accounts/xxxxxxxx' 
'MediaContentType1' => 'image/jpeg' 
'MediaUrl1' => 'https://api.server.com/2010-04-01/Accounts/zzzzzzzz' 

と:NumMediaが1より大きい場合、私はこのようなパラメータの追加セットを取得します

'MediaContentType0' => 'image/jpeg' 
'MediaUrl0' => 'https://api.server.com/2010-04-01/Accounts/xxxxxxxx', 

:NumMedia = 1の場合たとえば、私はこのような2つの追加パラメータを取得しますここで、最初のパラメータは0で終了し、追加のパラメータのセットごとに1ずつ増加します。

私がしたいのは、NumMediaパラメータの値によって示されるパラメータの数に基づいて、これらのそれぞれをループし、それらを変数に設定し、いくつかのデータベースレコードを書き出すことです。線に沿って何か:

if (isset($_POST['NumMedia']) && $_POST['NumMedia'] !== '') { 
    $totalParams = $_POST['NumMedia']; 
    $counter = 0; 

    // set a variable for the first set of parameters 
    $mediaContentType = $_POST['NumMediaXXX'] // XXX = $counter 
    $mediaURL = $_POST['MediaUrlXXX'] // XXX = $counter 

    // save these variables to database record 
    // increment counter to get next set of parameters 
    // exit when $counter = $totalParams 

    $counter ++; 
} 

私は期待パラメータの数を打ったとき、私は概念的に、私はループが軌道に乗るためにと動的POSTのパラメータを参照し、ループを終了する方法だけでわからない操作を行うために必要なものを見ることができます?

+0

なぜループすることができます> $ val){//ここにあなたのコード} ' – Noman

+0

MediaUrl {N}パラメータとMediaContentType {N}パラメータである{N}回存在する可能性のあるパラメータをグループ化する必要があります。データベースのレコードに追加します。私がNumMediaに基づいて何を期待するかを知っているので、これらをループする必要があるように感じます。 – user982124

+0

WHY NOTすべてのポスト値をループします 'foreach($ _ POSTを$ key => $ val){if(strpos($ key、 'NumMedia')!== 'false'){//ここにあなたのコード}}' – degr

答えて

0

ループを使用して値を取得する必要があります。

if (isset($_POST['NumMedia']) && $_POST['NumMedia'] !== '') { 

    $totalParams = $_POST['NumMedia']; 

    for($i=0; $i<$totalParams; $i++) 
    { 
     // set a dynamic variables 
     ${"mediaContentType" . $i} = $_POST['mediaContentType'.$i]; // XXX = $counter 
     ${"mediaURL" . $i} = $_POST['MediaUrl'.$i]; // XXX = $counter 
    } 

} 

あなたは=動的変数に値を設定する必要がありますし、$キーなど、すべてのポスト値 `foreachの($ _ POSTを通じて$mediaContentType0 , $mediaURL0, $mediaContentType1 , $mediaURL1によって値にアクセスし、そうで....

+0

彼は、ループ内のDBにデータを保存したい、動的変数の必要はありません、ちょうど$ mediaContentTypeと$ mediaURLを使用して – phobia82

+0

またはループの外側の値を使用する場合は、配列を使用して、奇妙な/私に解決策を実装するのは難しい。 – phobia82

+0

@ phobia82彼は変数で何をしたいかを決定させます:P –

関連する問題