そのため、私はフォームに取り組んでおり、PHPを使用してデータベースから連絡先の配列を引き出しています。結果は配列であるため、foreachループを使用して連絡先をエコーし、次に進みます。これが私のコードです:
<p class='contact-list'>
<?php
foreach( $contacts as $contact ){
echo "<p><input type='radio' name='contact' id='contact-{$contact['id']}' value='{$contact['id']}'/>";
echo " {$contact['name']}</p>";
}
?>
</p>
これを行っているのは、各連絡先を.contact-listの子として配置する必要があるためです。ページがレンダリングされると、ソースは次のようになります。
<p class='contact-list'>
<p><input type='radio' ...
</p>
<p><input type='radio' ...
</p>
</p>
そうではありません。.contact-listの子である代わりに、各連絡先はその兄弟であり、なぜこれが起こっているのか疑問に思います。
レンダリング後のページのソースは次のとおりです。
<p class='contact-list'></p>
<p><input type='radio' name=''...
</p>
<p><input type='radio' name=''...
</p>
foreachループが実行される前にParagraphタグが閉じている理由を誰かが説明できますか?
アップデート:
段落の代わりにdivを使用することにしましたが、ネストは正しく機能したので、これが段落タグの特性であると想定しています。そうは言っても、段落タグがこれを行う理由を見つけることにまだ興味があります。