Mysql
 sql >> Base de données >  >> RDS >> Mysql

Impossible d'insérer des données dans la base de données à l'aide de l'option (textarea)

Vous devez name le <select> afin que vous puissiez utiliser les données.

name="food[]"

Comme ça

<select multiple="multiple" name="food[]" class="options" id="text area" >
   <option value="foodA">foodA</option>
   <option value="foodB">foodB</option>
   <option value="foodC">foodC</option>
   <option value="foodD">foodD</option>
   <option value="foodE">foodE</option>
</select>

Ensuite, si vous voulez que la valeur soit 0 ou 1, selon la sélection ou non, vous pouvez utiliser ce qui suit pour remplacer ceci :

$foodA = $_POST['foodA'];
$foodB = $_POST['foodB'];
$foodC = $_POST['foodC'];
$foodD = $_POST['foodD'];
$foodE = $_POST['foodE'];

à

$foodA = 0;
$foodB = 0;
$foodC = 0;
$foodD = 0;
$foodE = 0;

foreach ($_POST['food'] as $value) {
    if($value == 'foodA')
        $foodA = 1;
    if($value == 'foodB')
        $foodB = 1;
    if($value == 'foodC')
        $foodC = 1;
    if($value == 'foodD')
        $foodD = 1;
    if($value == 'foodE')
        $foodE = 1;
}