2017-05-19 4 views
1

私はProject-IDを選択して送信ボタンを使って次のフォームに渡すことができる選択ボックスを手に入れました。今、それは次のようになります。PHP/HTML:whileループのサブミットボタン

enter image description here

これは私のコードです:

<form name="form2" action="formular3.php" method="post"> 

<p><strong>Choose Project:</strong></p> 
<select name = "project_id"> 

<?php 
while ($row = mysqli_fetch_array($result)) { 
    echo "<option value =" . $row['project_id'] . "> Project_ID: " . $row['project_id'] . " - (" . $row['name'] . ")</option>"; 
} 
?> 

</select> 

<input type="submit" value="Send" /> 

</form> 

今、私はすべての行に対して送信ボタンを持つリストを持っていると思います。それは次のようになります。

enter image description here

答えて

1

フォームごとに1つのオプションしか送信しない場合は、選択タグを完全に削除します。

より良い方法(予告mysqli_fetch_assoc()の代わりmysqli_fecth_array():。

echo "<form name=\"form2\" action=\"formular3.php\" method=\"post\">"; 
    while($row=mysqli_fetch_assoc($result)){ 
     echo "Project_ID: {$row['project_id']} - ({$row['name']}) "; 
     echo "<button name=\"project_id\" value=\"{$row['project_id']}\">Send</button>"; 
    } 
echo "</form>"; 

これはHTMLに非常に多くのフォームブロックを記述することなく、クリックされたボタンで値を提出するあなただけ調整する必要があります実際、<br>、テーブルセルにボタンで動作するなど


私の以前の表示方法が、DRYではありません。

while($row=mysqli_fetch_array($result)){ 
    echo "<form name=\"form2\" action=\"formular3.php\" method=\"post\">"; 
     echo "<input type=\"hidden\" name=\"project_id\" value=\"{$row['project_id']}\">"; 
     echo "Project_ID: {$row['project_id']} - ({$row['name']}) "; 
     echo "<input type=\"submit\" value=\"Send\" />"; 
    echo "</form>"; 
} 
+0

@ k.troy2012私はあなたにいくつかの次善のアドバイスをくれました。あなたのプロジェクトに私のより良い方法を実装してください。 – mickmackusa

1

使用ループ内で送信ボタンを、あなたが必要

<p><strong>Choose Project:</strong></p> 
<select name = "project_id"> 

<?php 
while ($row = mysqli_fetch_array($result)) { 
    echo "<option value =" . $row['project_id'] . "> <input type='submit' value='Send' />Project_ID: " . $row['project_id'] . " - (" . $row['name'] . ")</option>"; 
} 
?> 

</select> 



</form> 
+0

はよさそうだが、提出ボタン私は押しに関係なく、それは常にこのような場合には...リストの最初のプロジェクト-IDを送信PROJECT_ID実際にあなたから一つを選択する前にフォームを送信している= 5 –

+0

落ちる。送信ボタンの入力タイプをボタンに送信してから、ドロップダウンの変更を行った後、jqueryを使用してフォームを送信してください。 –

0

をクリックして、現在、イベントを提出し、IDに送信ボタンを与える使用のjqueryのをoccuring停止しません提出するときには、spicificフォームを投稿する必要があります。

をクリックすると、このスクリプトが実行されます。

$(document).on('click', '#submit', function() { 
    $(this).closest("form").submit(); 
}); 
関連する問題