多选PHP显示数组值

时间:2018-03-25 17:41:14

标签: php arrays post

如何显示我选择的值名称并在此代码中隐藏未选择的值?

我的意思是:现在我看到“1,0,0,0,0”,我只想看到“红色”,

代码:

<?php
if (isset($_POST['form_name'])) {

$cols   = array('red', 'green', 'white', 'blue', 'orange');
$query  = "INSERT INTO `m_b_browsing_live` (interests) " . "VALUES (";

$country = '';
foreach ($cols as $col) {
    if (in_array($col, $_POST['service'])) {
        $flag = 1;
    }
    else $flag = 0;

    $query .= "$flag, ";
}

$query .= ')';

// Debug
echo $query;
}
?>

<!-- hold "CTRL" and select something to select multiple -->

<form method="post" action="">
  <select name="service[]" multiple="multiple">
    <option value="red">Red</option>
    <option value="green">Green</option>
    <option value="white">White</option>
    <option value="blue">Blue</option>
    <option value="orange">Orange</option>
  </select>
  <input type="submit" name="form_name"/>
</form>

1 个答案:

答案 0 :(得分:0)

<?php
if (isset($_POST['form_name'])) {

$selected_items = array();

$cols   = array('red', 'green', 'white', 'blue', 'orange');

foreach ( $_POST['service'] as $value => $name ) :
  if ( in_array($name, $cols) ) :
    $selected_items[] = $name;
  endif;
endforeach;

$query  = "INSERT INTO m_b_browsing_live (interests) VALUES ('".implode(',', $selected_items)."')";

echo $query;

}
?>

<!-- hold "CTRL" and select something to select multiple -->

<form method="post" action="">
  <select name="service[]" multiple="multiple">
    <option value="red">Red</option>
    <option value="green">Green</option>
    <option value="white">White</option>
    <option value="blue">Blue</option>
    <option value="orange">Orange</option>
  </select>
  <input type="submit" name="form_name"/>
</form>