У меня есть выпадающий список множественного выбора, который хранит данные в массиве и вставляет с помощью serialize () в базу данных. Интересно, как я могу вернуть эти данные на ваши флажки, помеченные как изображение? Кто-нибудь может мне помочь?
Вставка:
$sql = "INSERT INTO programacao
(programacao_id, painel_id, palestrante_id, tipo_programacao_id, dia,hora_inicio,hora_fim, palestrantes, imagem,cor_fundo,ativo)
VALUES
(:programacao_id, :painel_id, :palestrante_id, :tipo_programacao_id, :dia,:hora_inicio,:hora_fim,:palestrantes, :imagem,:cor_fundo,:ativo)";
$dadosBind = array(
'programacao_id' => $novo_id,
'painel_id' => $painel_id,
'palestrante_id' => $palestrante_id,
'tipo_programacao_id' => $tipo_programacao_id,
'dia' => $uteis->dataBr2Bd($dia),
'hora_inicio' => $hora_inicio,
'hora_fim' => $hora_fim,
'palestrantes' => serialize($palestrantes),
'imagem' => ( isset($nome_final_foto) )?$nome_final_foto :'',
'cor_fundo' => $cor_fundo,
'ativo' => $ativo
);
$insertProgramacao = $db->ubQuery($sql, $dadosBind);
Листинг:
$sql = "SELECT palestrantes.palestrante_id, palestrantes.nome FROM palestrantes INNER JOIN programacao
ON palestrantes.palestrante_id = programacao.palestrante_id WHERE programacao.programacao_id = $programacao_id AND palestrantes.palestrante_id = programacao.palestrante_id";
$dados_palestrantes = $db->query($sql);
$dados_palestrantes = $dados_palestrantes[0];
Foreach для вставки:
<label>
Palestrantes
<select multiple="multiple" name="palestrantes[]" placeholder=" " class="SlectBox">
<?php
foreach ($lista_palestrantes as $palestrantes) {
echo '<option value="'.$palestrantes['nome'].'">'.$palestrantes['nome'].'</option>';
}
?>
</select>
</label>
Данные в БД:
a:4:{i:0;s:20:"Alexandre";i:1;s:11:"Antonio";i:2;s:28:"Arlindo";i:3;s:25:"Carlos";}
Получить выбранные элементы из базы данных /$_POST
и цикл через них. В HTML:
if($palestrantes['id'] == $fetched_item['id']){
echo '<option value="'.$palestrantes['nome'].'" checked="true">'.$palestrantes['nome'].'</option>';
//----------------------------------------------^^^^^^^^^^^^^^
}
else{
echo '<option value="'.$palestrantes['nome'].'">'.$palestrantes['nome'].'</option>';
}
Других решений пока нет …