フォームからデータをMySQL DBに挿入しようとしています。下記の例のようなhtmlテーブルがあります。PHP insert MySql
テーブル例
チェックボックス|ドロップダウン
チェックボックス|ドロップダウン
チェックボックス|ドロップダウン
チェックボックス|ドロップダウン
すべてのテーブルとコントロールがdbから読み込まれています。私はチェックボックスがチェックされているドロップダウンから値を挿入したいだけです。これまでのところ、最初のドロップダウンが空でない場合、すべてのチェックボックスが正常に機能する場合にのみ機能します。
挿入のためのPHPコード:
<?php
//$c = checkbox array which is generated from mysql db data
$c = $_POST['check'];
//$n = dropdown array which is generated from mysql db data
$n = $_POST['nivel'];
//count the amount of checkboxes checked to use in for loop
$camount = count($c);
//count the amount of dropdowns which have a value selected should be equal to $camount but it is not
$namount = count($n);
?>
<?php
for($i = 0; $i <$camount; $i++)
{
//insert row into table for each checked checkbox
$d = new Disciplina_Estudiante();
$d->idestudiante = $estudiante->id;
$d->iddisciplina =$c[$i];
//this is supposed to get the values from the dropdowns that are not empty
$d->idnivel = $n[$i];
$d->save();
}
html markup:
<div class="col-md-4">
<table class="table table-bordered table-condensed table-hover" >
<thead style="background-color: #f707f3;">
<tr>
<th>Disclipina</th>
<th>Costo</th>
<th>Grupo</th>
</tr>
</thead>
<tbody>
<?php foreach ($disciplinas as $disciplina) : ?>
<tr>
<td> <input type="checkbox" id="check" value="<?php echo $disciplina->id;?>" name="check[]"><?php echo $disciplina->nombre;?></input></td>
<td> <?php echo $disciplina->costo;?></td>
<td><select class="form-control" id="nivel" name="nivel[]" >
<option selected value="" readonly>Seleccionar un Nivel</option>
<?php foreach ($niveles as $nivel) : ?>
<option value="<?php echo $nivel->id; ?>"> <?php echo $nivel->nombre_nivel."<br>";?></option>
<?php endforeach; ?>
</select>
</td>
</tr>
<?php endforeach ;?>
</tbody>
</table>
<br>
<input type="submit" class="btn btn-primary pull-right" name="submit" value="Aceptar"></input>
</div>
任意の助けが初めてポスティングをいただければ幸いです...してくださいLMKこれは意味をなさない場合
これは意味をなさない。手元の問題だけに焦点を当てたコードの量を最小限に抑えることができますか? – tadman
これは良いですか? –
ブランクの束を削除したり、関連性のないインラインCSSを削除したりするのは、手元の問題に集中していることを示すために役立ちます。デバッグ時に行う最も重要なことは、問題の原因となっていないすべてのものを削除してから、その問題に絞り込むことです。 (また、yikes、inline CSS?Please、stylesheet that!) – tadman