Это мой HTML-код:
<input type='checkbox' name='cbox[]' value='Jaywalking'/> Jaywalking<br/> <input type='checkbox' name='cbox[]' value='Littering'/> Littering<br/> <input type='checkbox' name='cbox[]' value='Illegal Vendor'/> Illegal Vendor
Это мой код для публикации:
if(is_array($_POST['cbox'])) $violation_save=implode(',',$_POST['cbox']); else $violation_save=$_POST['cbox']; mysql_query("UPDATE tblcitizen SET violation='$violation_save' WHERE id='$id'") or die mysql_error());
Как получить выбранные значения из базы данных?
Прежде всего, вы больше не должны использовать mysql_ * функции php. Эти функции отмечены как устаревшие и будут удалены в следующей крупной версии php.
Поэтому, если $ _POST ['cbox'] является массивом, вы должны обрабатывать его как массив.
// how to save checked values try { $db = new PDO(...); $stmt = $db->prepare("UPDATE yourTable SET myField = :myField WHERE id = :id"); $stmt->bindParam(':id' , $id, PDO::PARAM_INT); foreach ($_POST['cbox'] as $myField) { $stmt->bindParam(':myField', $myField); $stmt->execute(); } } catch (PDOException $e) { // error handling } // how to fetch checked values try { $myValues = array(); $db = new PDO(...); $stmt = $db->prepare("SELECT myField FROM myTable WHERE id = :id"); $stmt->bindParam(':id', $id, PDO::PARAM_INT); $stmt->execute(); foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $row) { $myValues[] = $row['myField']; } } catch (PDOException $e) { // error handling } // HTML Part <input type="checkbox" name="cbox[]" value="bla"<?php if (in_array('bla', $myValues)) { ?> checked="checked"<?php } ?> />
Просто взгляните на руководство по php для PDO или расширения MySQLi.