<label><input name="delivery[]" value="1" type="checkbox">one</label>
<label><input name="delivery[]" value="2" type="checkbox">two</label>
<label><input name="delivery[]" value="3" type="checkbox">three</label>
public static function createProduct($options)
{
// Соединение с БД
$db = Db::getConnection();
// Текст запроса к БД
$sql = 'INSERT INTO product '
. '(delivery)'
. 'VALUES '
. '(:delivery)';
// Получение и возврат результатов. Используется подготовленный запрос
$result = $db->prepare($sql);
$result->bindValue(':delivery', $options['delivery'], PDO::PARAM_INT);
// foreach - не знаю как его написать
if ($result->execute()) {
// Если запрос выполенен успешно, возвращаем id добавленной записи
return $db->lastInsertId();
}
// Иначе возвращаем 0
return 0;
}
$result->bindValue(':delivery', serialize($options['delivery']), PDO::PARAM_STR); // Сериализовать массив.
// Или
$result->bindValue(':delivery', json_encode($options['delivery']), PDO::PARAM_STR); // Преобразовать в json - формат.
// Или
$result->bindValue(':delivery', implode(',' ,$options['delivery']), PDO::PARAM_STR); // Соединить элементы массива в строку с запятой в качестве разделителя.
<?php echo Product::getAvailabilityText($product['availability']); ?>
public static function getAvailabilityText($availability)
{
switch ($availability) {
case '1':
return 'В наличии';
break;
case '0':
return 'Под заказ';
break;
}
}
case '1':
return 'Значение 1';
break;
// $data - данные, пришедшие из БД.
$parsed = explode(',', $data['delivery']);
foreach($parsed as $one) {
if ($one == 1) {
$result[] = 'Значение 1';
} else
if ($one == 2) {
$result[] = 'Значение 2';
} else
if ($one == 3) {
$result[] = 'Значение 3';
}
}
return implode('<br>', $result);
<input type="text" name="name" placeholder="" value="<?php echo $product['name']; ?>">
<label><input name="delivery[]" value="1" type="checkbox">one</label>
<label><input name="delivery[]" value="2" type="checkbox">two</label>
<label><input name="delivery[]" value="3" type="checkbox">three</label>
<!-- как то через php echo -->
/**
* Редактирует товар с заданным id
* @param integer $id <p>id товара</p>
* @param array $options <p>Массив с информацей о товаре</p>
* @return boolean <p>Результат выполнения метода</p>
*/
public static function updateProductById($id, $options)
{
// Соединение с БД
$db = Db::getConnection();
// Текст запроса к БД
$sql = "UPDATE product
SET
name = :name,
delivery = :delivery
WHERE id = :id";
// Получение и возврат результатов. Используется подготовленный запрос
$result = $db->prepare($sql);
$result->bindParam(':id', $id, PDO::PARAM_INT);
$result->bindParam(':name', $options['name'], PDO::PARAM_STR);
$result->bindValue(':delivery', implode(',' ,$options['delivery']), PDO::PARAM_STR);
// вставлена ваша строчка delivery с добавления товара
return $result->execute();
}
<p>Наличие на складе</p>
<select name="availability">
<option value="1" <?php if ($product['availability'] == 1) echo ' selected="selected"'; ?>>Да</option>
<option value="0" <?php if ($product['availability'] == 0) echo ' selected="selected"'; ?>>Нет</option>
</select>