チェックボックスの値をカンマ区切りの文字列としてデータベースに挿入する際に問題があります(これは通常、悪いスタイルと見なされますが、必要とされている)。POSTメソッドを使用してチェックボックスデータをmysqlデータベースに挿入します
私は、その後、私は、データベースに接続し、
$q16 = implode(",",$_POST['q16[]']);
値の配列を作成するために、PHPコードのこの部分を使用
<div id="page16" class="page">
<p style="font-weight: bold; width: 55%;"><a id="q16_qtext">*</a></p>
<p style="font-style: italic;">Vælg venligst de (højst) 3 primære årsager (i alt).</p>
<p style="font-style: italic;">Af økonomiske årsager:</p>
<input type="checkbox" name="q16[]" value="1" id="num161">For dyrt i forhold til udbyttet for eleverne<br>
<input type="checkbox" name="q16[]" value="2" id="num162">For dyrt i forhold til andre omkostninger (bøger, efteruddannelse af lærere osv.)<br>
<input type="checkbox" name="q16[]" value="4" id="num164">Andre økonomiske årsager<br>
<p style="font-style: italic;">Andre årsager:</p>
<input type="checkbox" name="q16[]" value="5" id="num165">Pga. skolesammenlægning eller en anden større ændring<br>
<input type="checkbox" name="q16[]" value="6" id="num166">Skolen havde/har ikke bemanding til det<br>
<input type="checkbox" name="q16[]" value="7" id="num167">Der var for tidskrævende i forhold til udbyttet (for eleverne i forhold til pensum)<br>
<input type="checkbox" name="q16[]" value="8" id="num168">Der var ikke længere opbakning til det i skoleledelsen (ikke økonomisk)<br>
<input type="checkbox" name="q16[]" value="9" id="num169">Der var ikke længere opbakning til det blandt lærerne<br>
<input type="checkbox" name="q16[]" value="10" id="num1610">Der var ikke længere opbakning til det blandt elever/forældre<br>
<input type="checkbox" name="q16[]" value="11" id="num1611">Andet. Angiv i så fald primært hvad: <a style="text-align: center;"></a><input type="text" name="q16extra" value="" id="num89"><br>
<input type="checkbox" name="q16[]" value="12" id="num1612">Ved ikke<br>
<p style="bottom:5px;"><input style="width: 150px; height: 30px;" type="button" class="all" id="B19" value="tilbage" onClick="showPreviousLayer()"><input style="width: 150px; height: 30px;" type="button" class="all" id="C20" value="fortsæt" onClick="checkAnswersSixteen()"></p>
</div>
ここではhtmlファイルのコードスニペットを持っており、列と値を「表」に挿入します。もちろん、他の多くの列と値が挿入されていて、これらは機能します!この問題は、insertステートメントではなく、おそらくimplodeメソッドであるようです。
私はecho($ q16)を実行しようとしました。 しかし、それはちょうど空であるようです。
問題の原因を知っている人は誰ですか?あなたが他の情報が必要な場合は私に知らせてください:)
ありがとうございます!本当に問題を解決しました。だから、HTMLの名前の余分な部分は、名前のすべての部分ではなく、それは配列のための単なる指標ですか? – PNS
@PNSあなたは正しいです。 '[]'は名前の一部ではありません。しかし、 'q16'変数はPHPで配列として扱われ認識されるべきです。 –