Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #59 da revista programar. Faz já o download aqui!

tiko165

Usar for com $i++ num Select Option [PHP]

Mensagens Recomendadas

tiko165    3
tiko165

Estou a usar um Select Option com o "for $i++" (sem qualquer problema).

E pretendo (se existir forma), ao ler na base de dados a tabela "years", remover esses anos no seguinte "for" para não existir repetições no insert.

echo "
<select>
<option>Escolher Ano</option>";
for($year = '2000'; $year <= (date('Y')); $year++) {
 echo "<option value='".$year."'>".$year."</option>";
}
echo "
</select>";

Alguem sabe como solucionar? Se não for desta forma, qual a que aconselham?

Obrigado


collectioneuro300px.png

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Th3Alchemist    1
Th3Alchemist

//primeiro obter os anos todos da base de dados para uma array (exemplo $years);

<?php
$years = ...;
?>
<select>
<option>Escolher Ano</option>
<?php
foreach(range(min($years), date('Y')) as $year) {
	if(in_array($year, $years)) {
		?>
		<option value="<?= $year; ?>"><?= $year; ?></option>
		<?php
	}
}
?>
</select>

ou

<select>
<option>Escolher Ano</option>
<?php
foreach(asort(array_unique($years)) as $year) {
	?>
	<option value="<?= $year; ?>"><?= $year; ?></option>
	<?php
}
?>
</select>

A função array_unique somente se a BD devolver valores duplicados...

Editado por Th3Alchemist

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.