【发布时间】:2017-12-30 16:05:51
【问题描述】:
我有一个名为property_amenities 的表,它有列; amenity_id 和 amenity_name 的值在表单上填充为复选框。提交表单后,检查的值将作为数组插入到 property_amenities 列上的 property_listings 表中。
<?php
$db_host="localhost";
$db_name="cl43-realv3";
$db_user="root";
$db_pass="";
try
{
$DB_con = new PDO("mysql:host={$db_host};dbname={$db_name}",$db_user,$db_pass);
$DB_con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e)
{
$e->getMessage();
}
if (isset($_POST['list_property'])) {
if (isset($_POST['property_amenities'])) {
$property_amenities = implode(",",$_POST['property_amenities']);
}else{ $property_amenities = "";}
}
?>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post">
<div class="row clearfix">
<div class="col-lg-12 col-md-6 col-sm-12">
<?php
$stm = $DB_con->prepare("SELECT * FROM property_amenities");
$stm->execute(array(
));
while ($row = $stm->fetch()){
$amenity_id = $row['amenity_id'];
$amenity_name = $row['amenity_name'];
$List[] ="<label class=checkbox> <input type=checkbox name='property_amenities[]' value='$amenity_name'> $amenity_name</label>";
}
$allamenities = $stm->rowCount();
$how_many_chunks = $allamenities/3;
$roster_chunks = array_chunk($List, round($how_many_chunks), true);
?>
<label>Property Amenities</label></small>
<?php
foreach ($roster_chunks as $roster_chunk_key => $roster_chunk_value) {
echo "<div class='col-lg-3 col-md-6 col-sm-12'>";
echo join($roster_chunk_value);
echo '</div>';
}
?>
</div>
</div><!-- end row -->
<button type="submit" class="btn btn-primary" name="list_property" >SUBMIT PROPERTY</button>
</form>
</body>
</html>
上面的代码工作正常。唯一的问题是,当我提交表单并且页面重新加载时,property_amenities 的所有复选框都未选中,我想要的是在页面提交之前选中的复选框被选中。
我怎样才能做到这一点?
这是 property_amenities 表
--
-- Table structure for table `property_amenities`
--
CREATE TABLE `property_amenities` (
`amenity_id` int(11) NOT NULL,
`amenity_name` varchar(60) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `property_amenities`
--
INSERT INTO `property_amenities` (`amenity_id`, `amenity_name`) VALUES
(1, 'Outdoor Balcony'),
(2, 'Outdoor Yard Access'),
(3, 'Large Windows/Natural Light'),
(4, 'Closet Space'),
(5, 'Storage Space'),
(6, 'Laundry in Unit'),
(7, 'Parking Garage'),
(8, 'Ample Parking'),
(9, 'Stainless Steel Appliances'),
(10, 'Open Floor Plan'),
(11, 'Newly Renovated'),
(12, 'Close to Social Amenities'),
(13, 'Swimming Pool'),
(14, 'Courtyard'),
(15, 'Electric Fence'),
(16, 'Intercom'),
(17, 'Patio'),
(18, 'Internet'),
(19, 'Guest Quarters'),
(20, 'Gym / Workout Room'),
(21, 'Kitchenette'),
(22, 'Day And Night Guards'),
(23, 'Borehole'),
(24, 'Street Lights'),
(25, '3 Phase Power'),
(26, 'Dhobi Area'),
(27, 'Wheelchair Access '),
(28, 'Generator');
【问题讨论】: