php
2017-05-26 18 views 0 likes 
0

隠し入力を使用して複数の値をPOSTしようとしています。しかし、問題は今私が1つの値を掲示すればすべての入力が掲示されることです。問題は、入力がすべて同じ名前のforeach内で動的に作成されることです。同じ入力名の複数の値をPOSTする

DATABASE CONNECTION .. .. .. ... AND QUERY 

foreach ($key as $value){ 
    echo "<input type='hidden' name='create[]' 
    value=" .$value['NumberID'] ."> 

    <input type='submit' name='store'>" 
    } 

    if(isset($_POST['create'])){ 
     $NumberID = $_POST['create']; 
     print_r($NumberID); 
    } 

phpは5つの入力タイプを作成します。しかし、隠された入力値はすべてnumberIDによって一意です。ですから、私の質問には複数の値を1つずつ投稿するオプションがあります。

誰かが簡単なループについて教えてくれましたか?しかし、私はすでにそれをforeachので、その理由はありません..?

私はあなたからすぐに人を聞いて、あなたの助けに感謝したいと考えています:)

+1

「作成」[] ''は構文エラーです –

+0

@u_mulderはい、Heheは自分でコードを入力していましたが、これは私のせいです。名前='作成[] ' –

+0

ここに十分な情報がありませんあなたが何をしようとしているのかを理解する。ユーザーがフォームを送信すると、 'numberID'は送信されるはずですか? – Barmar

答えて

1

どのようにカウンターを使用してはどうですか?

$n = 1; 
foreach ($key as $value){ 
echo "<input type='hidden' name='create$n' value=" .$value['NumberID'] .">" 
... 
$n++: 
} 

か、文字列です作成するために一つの名前は=値=と 'を作成' '(val1と)、(VAL2)、(val3は)...'?

もしそうなら、あなたのforeachは1つのconcat-stringを構築し、foreachの後にnameとvalue = concat-stringの1回のエコーを行います。

0

これを行うために非表示の入力は必要ありません。 <input>の代わりに<button>を使用し、その値としてIDを渡すことができます。

<?php foreach ($key as $value): ?> 
    <button type="submit" name="create" value="<?= $value['NumberID'] ?>"> 
     store 
    </button> 
<?php endforeach; ?> 

$_POST['create']は、クリックしたボタンのNumberIDになります。

関連する問題