为具有多个select的foreach()提供的参数无效

时间:2018-04-03 04:54:06

标签: php arrays select foreach

我有一个html表单,其中有一个选择列表框,您可以从中选择多个值,因为它的multiple属性设置为多个。

    <label>¿Quieres agregar complementos?</label><hr>

    <?php
       $sql = "SELECT * FROM complementos";
       $ejecutar = $conn->query($sql);
    ?>

    <select class="form-control select2" multiple="multiple" name="complementos" data-placeholder="Seleccione el/los complementos" style="width: 100%;">

        <?php while ($complemento = $ejecutar->fetch_assoc()): ?>

           <option value="<?php echo $complemento['complemento'] ?>"><?php echo $complemento['complemento'] ?></option>

        <?php endwhile; ?>
    </select>

PHP:

$tipo = $_POST['tipo']; 
$nombre = $_POST['nombre_cotizar'];
$mail = $_POST['email_cotizar'];
$telefono = $_POST['telefono_cotizar'];

$complementos = array();

foreach ($_POST['complementos'] as $complemento){
    $complementos [] = $complemento;
}

$resultado_complementos = implode(", ", $complementos);

$mensajeMail = "De: $nombre \nCorreo: $mail \nTeléfono: $telefono \n\nTipo: $tipo \n\nComplementos: $resultado_complementos \n";

mail($destino, "Presupuesto", $mensajeMail);

try {
    $sql = "INSERT INTO Cotizar (Tipo, Adicionales, Nombre, Mail, Telefono) VALUES (?, ?, ?, ?, ?)";
    $stmt = $conn->prepare($sql);
    $stmt->bind_param('sssss', $tipo, $resultado_complementos, $nombre, $mail, $telefono);
    $stmt->execute();
    if($stmt->affected_rows){
        $respuesta = array(
            'respuesta' => 'exito' 
        );
    } else{
        $respuesta = array(
            'respuesta' => 'error' 
        );
    }
} catch (Exception $e) {
    $respuesta = array(
            'respuesta' => $e->getMessage() 
        );
}
die(json_encode($respuesta));

我想在字符串中添加选项值以将其保存在数据库中并通过电子邮件发送

0 个答案:

没有答案