В таблице DEPORTES имеет 2 колонки с 4 строками:Создание PHP ФОМ выбрать несколько значений извлекая из таблицы бд
<?php
$sql = 'SELECT * FROM deportes';
$resul = mysqli_query($conexion, $sql);
$deportes = array();
while ($fila = mysqli_fetch_array($resul))
{
$deportes[] = $fila;
}
?>
Форма с выбрать несколько вариантов:
<select name="fan[]" multiple="multiple">
<?php
foreach ($deportes as $aficion)
{
echo "<option value='".$aficion['idD']."'";
echo " >{$aficion['nombreDep']} </option>\n";
}
?>
</select>
Получить значения из форма
<?php
if (isset($_POST['fan']))
{
$sport = $_POST['fan'];
}
?>
Сейчас этот
<?php $sport = mysqli_real_escape_string($conexion, $sport); ?>
Таким образом, вставить значения в другой таблице
$idPersona = mysqli_insert_id($conexion);
$sql = "INSERT INTO mec(id,idD) VALUES ('$idPersona','$sport') ";
И результат я получаю значение «0» в поле IDD из таблицы тес
'$ sport' - это массив, а не строка. Вы пытаетесь вставить данные массива '$ sport' в виде значений, разделенных запятой, в таблице? –
№ Значения idD в таблице депортированных: 1, 2, 3, 4. Я хотел бы вставить в поле idD в таблице mec эти значения по одному. – albno
Какова цель этого оператора '$ idPersona = mysqli_insert_id ($ conexion);'? У вас есть * любой другой запрос 'INSERT', кроме этого? –