2016-10-20 4 views
1

リストされている各エクササイズに関する詳細をユーザーが入力できるようにします。しかし、表示される練習の数は設定されていません(ユーザは非常に多くの練習を選択できるので、設定された数の入力ボックスを使用することはできません)。どのようにしてforループが実行されるたびに、新しい入力ボックスが表示されるようにするのですか(各エクササイズにつき1つ)?foreachループ内のユーザーからの入力の収集(HTMLとpHpの使用)

foreach($exer->results() as $ex){ 
echo $ex->Name."<br/>"; 
// for each exercise I want to collect an input from user 

答えて

0

あなたはユーザーからの運動回数を取得することができますしたいしたいということです。その量のループをfor loopにループします。ループ内にテキストフィールドを追加します。 namedata[user][]など)を使用してください。

$user_ex_count = 5; // Lets say you get 5 from a text box 
for ($x = 0; $x < $user_ex_count; $x++){ 
    echo '<input type="text" name="data[user][]">'; 
} 

次にあなたが提出したときに、あなたの$_POSTは配列である($_POST['data']を持つことになります。これは単なるダミーのコードである

if (isset($_POST['data'])){ 
    foreach($_POST['data'] as $key -> $userInput){ 
     echo $userInput; // user input values 
    } 
} 

あなたが行うことができますので、

を、あなたが理解できるようにしますあなたが仕事をすることができるように。

これは役に立ちます。

+0

ワンクエストイオン、私のデータベースからのSELECTクエリから得られる演習の数は、どのように$ user_ex_countを設定するかを知ることができますか? – Andy

+0

はその特定のユーザーのデータベースに既に存在する番号ですか?その場合、 'SELECT'クエリを作成し、その値を' fetch'してその値を '$ user_ex_count'変数に代入することができます。 '$ user_ex_count'に基づいてコードを書いた場合、データベース、ユーザ入力などからこの変数に値を設定できますが、それでも他のものは実行されます – masterFly

0

あなたは

<?php 

if(isset($_POST)) 
{ 

    echo $_POST['value'][0]; // First input 
    echo $_POST['value'][1]; // Second input 
    // and so on 
} else { 
    foreach($exer->results() as $ex){ 
    echo '<input type="text" name="value[]">'; 
} 
関連する問題