1
2つのネストされたフォームを処理する方法を理解しようとします。最初のものは、選択肢ドロップダウンからanother_file.php
にデータを送信します。ネストされたものは、チェックボックスから現在のファイルにデータを送信する必要があり、isset($_POST['...'])
で処理する必要があります。ここに私の簡略化されたコードがあります:HTML/PHPでネストされたフォームを処理する
if (isset($_POST['a']))
{
// do something
}
if (isset($_POST['b']))
{
// do something else
}
echo "<form action='another_file.php' method='post'>"; // begin of first form
echo "<table class ='table table-hover table-condensed table-striped table-bordered'>";
echo "<thead>";
echo "<th>ID</th><th>Jídlo</th><th>Množství</th><th>por_cislo</th><th>Odebrat</th>";
echo "</thead>";
while($rows = $stmt->fetch()){
echo "<tr><td>" . $rows['id'] . "</td><td>".$rows['jidlo'];
echo "<select name =".$rows['id']."_".$rows['por_cislo']."> ";
$stmt2 = $db->query($q2);
echo "<option value ='nic'> (vyberte potravinu) </option>";
$max_por_cislo = $rows['por_cislo'];
while($rows2 = $stmt2->fetch())
{
echo '<option value="'.$rows2['id'].'">'.$rows2['jidlo'].'</option>';
};
echo "</select>";
echo "</td> <td>" . $rows['mnozstvi'] . "g <input name = '".$rows['por_cislo']."' type='text' value = '-'></td><td>".$rows['por_cislo']."</td>";
echo "<td><form action ='this_file.php' method = 'post'>"; // begin of nested form
echo "<input type='checkbox' id='atur_peg' name='idecko[]' value=".$rows['id']."*".$rows['por_cislo']." /></td></tr> ";
};
echo "<input type='hidden' name='pc' value=".$plan_cislo.">";
echo "<tr><td colspan='2'><input name = 'go' type='submit' value='OK'/></td><td colspan='2'><input type = 'submit' name ='a' value='ADD'/></td>";
echo "<td><input type = 'submit' name ='b' value='DELETE checked'/></form></td></tr>"; // end of nested form
echo "</table>";
echo "</form>"; // end of first form
Is
これを行う方法はありますか?
あなたのコードにはいくつかのエラーがあります。なぜなら、while($ rows = $ stmt-> fetch())では、$ stmt-> fetchに割り当てているため、whileループは決して終了しません。そして、私は本当にここで質問されることを得ているわけではありません、あなたは精巧にお聞かせください。 – RepeaterCreeper
@RepeaterCreeperあなたは間違っています。このことは正しく機能します。明らかに、それは私が把握しようとしている問題ではありません... – DRINK