問題が発生しました...名前と番号を付けたチェックボックスのペアがあります。チェックボックスをマークしてデータベースに挿入する必要があります。チェックボックスを作成する方法は次のとおりです。
<div class="check"><input type="checkbox" name="acharge1" value="1"> <span style="color: #0C0">$$</span><input type="checkbox" name="amenities1" value="1">Amenity 1</div>
<div class="check"><input type="checkbox" name="acharge2" value="1"> <span style="color: #0C0">$$</span><input type="checkbox" name="amenities2" value="1">Amenity 2</div>
<div class="check"><input type="checkbox" name="acharge3" value="1"> <span style="color: #0C0">$$</span><input type="checkbox" name="amenities3" value="1">Amenity 3</div>
<div class="check"><input type="checkbox" name="acharge4" value="1"> <span style="color: #0C0">$$</span><input type="checkbox" name="amenities4" value="1">Amenity 4</div>
これらのいくつかはチェックされ、いくつかはチェックされません。また、それらは常にペアでチェックされるとは限りませんが、データベースにペアでアップロードする必要があります。つまり、acharge1とafficilitys1はチェックされませんが、acharge2とafficilitys2はチェックされます。そこで、foreachループを試しましたが、うまくいきませんでした。whileループも試しましたが、何をチェックすればよいかわかりませんでした。だからこれは私が今持っているものです:
$aa = 1;
echo "Amenity: ".$_POST['amenities'.$aa];
$aa++;
while(isset($_POST['amenities'.$aa])){
$amen = $_POST['amenities'.$aa];
if(isset($_POST['acharge'.$aa])){
$acharge = $_POST['acharge'.$aa];
}else{
$acharge = "0";
}
echo "Amen: ". $amen." charge: ".$acharge;
mysql_query("INSERT INTO hotel_amenities (amenity_code, hotel_id, charge) VALUES ('$amen','$hotel_id','$acharge')") or die(mysql_error());
echo $aa;
$aa++;
}
ただし、ご覧のとおり、これは機能しません。これは、ability1がチェックされていない場合、他のwhileループを実行しないためです。とにかく、私がこれを達成する方法についての助けをいただければ幸いです!
編集**これはコンセプトです。ご覧のとおり、アメニティで貯金箱がチェックされる場合とチェックされない場合があります。 http://www.cancunelitetravel.com/ale/Capture.PNG