Как вставить данные из мульти выбора в MySQL
или сделать строку массива как -> …
$arr =array('a'=>'1','b'=>'3','c'=>'5');
как положено
1,3,5
вставить все значения в один столбец, как
$ sth = $ this-> db-> prepare («ОБНОВЛЕНИЕ data
SET category = $ arr, где id = 1 «);
<div class="control-group">
<label for="area" class="control-label">Rank</label>
<div class="controls">
<input type="number" name="rank" id="area" value="<?= $this->detali->rank ?>" />
</div>
</div>
<div class="control-group">
<label for="artist " class="control-label">Artist</label>
<?php
$art = explode(',', $this->detali->artist);
?>
<div class="controls">
<select multiple="multiple" id="my-select" name="artist[]" class='multiselect'>
<?php
foreach ($this->artist as $artist) { ?>
<option value="<?= $artist->artist_id ?>" <?php
foreach ($art as $value) {
if (!(strcmp("$artist->artist_id", htmlentities($value, ENT_COMPAT, 'utf-8')))) {
echo "SELECTED";
}
}
?>><?= $artist->artist_name ?></option>
<?php } ?>
</select>
</div>
</div>
как получить данные из $_POST['artist'] (artist[])
like 1,5,6
не массив
Это должно сделать трюк:
$arr =array('a'=>'1','b'=>'3','c'=>'5');
echo implode(",", array_values($arr));
Если я правильно понимаю, вы хотите взять данные в массиве, как
array(3) {
[0] => 'one',
[1] => 'two',
[2] => 'three'
}
и вывести его в виде строки
one,two,three
Если это так, вы можете использовать PHP implode
функция:
<?php
$my_array = array('one', 'two', 'three);
$my_string = implode(',', $array);
?>
Документация для implode
можно найти на http://php.net/manual/en/function.implode.php