PHPize Online / SQLize Online  /  SQLtest Online

A A A
Share      Blog   Popular
Copy Format Clear
CREATE TABLE clothes ( customer_id INT, dress_shoes ENUM('yes','no'), elegant_pants ENUM('yes','no'), long_skirt ENUM('yes','no'), ankle_socks ENUM('yes','no'), biker_jacket ENUM('yes','no'), PRIMARY KEY (customer_id) ); INSERT INTO clothes (customer_id, dress_shoes, elegant_pants, long_skirt, ankle_socks, biker_jacket) VALUES (1, 'no', 'yes', 'no', 'no', 'no');
Copy Clear
Copy Format Clear
<?php $defaults = [ "shoes" => 'no', "pants" => 'no', "skirt" => 'no', "socks" => 'no', "jacket" => 'no', ]; $_POST['id'] = '1'; $_POST['clothes'] = "shoes, socks, jacket"; $ticked = array_fill_keys(explode(', ', $_POST['clothes']), 'yes'); $yesses = array_intersect_key($ticked, $defaults); $row = $yesses + $defaults; var_export($row); $sql = sprintf( 'INSERT INTO clothes (customer_id,%s) VALUES (?,%s)', implode(',', array_keys($defaults)), implode(',', array_fill(0, count($defaults), '?')) ); $stmt = $pdo->prepare($sql); $stmt->execute($row); var_export( $pdo->query('SELECT * FROM clothes')->fetchAll(PDO::FETCH_ASSOC) );
Show:  
Copy Clear