Jump to content
kenny

Dúvida em select

Recommended Posts

kenny

Boa Tarde pessoal

Tenho uma dúvida sobre um select que não sei a melhor forma de fazer isto.

Eu tenho:

<select name="fruta">
  <option>Laranja</option>
  <option>Maçã</option>
  <option>Morango</option>
</select>


echo ".$_POST['fruta']."; 

Depois eu criei uma página que é para editar o valor ou seja ao abrir o select ter o valor que foi lançado para a base de dados.

 

<select name="fruta">
  <option>".$_POST['fruta']."</option>
  <option>Laranja</option>
  <option>Maçã</option>
  <option>Morango</option>
</select>


echo ".$_POST['fruta']."; 

Qual a melhor maneira para nao repetir os valores no Select e não me aparecer 2 vezes a mesma  opção?

Este select é um exemplo para me conseguir explicar só.

Share this post


Link to post
Share on other sites
washalbano

Olá!
Na sql table frutas, defina unique pra column fruta
Assim, não poderão existir registros iguais.
Ex.:
 

create table frutas(
  id int(3) prinary key auto_increment,
  fruta varchar(45) unique
  ...
);

 

Share this post


Link to post
Share on other sites
kenny

Obrigado washalbano isso ajudou me mas eu por acaso ia perguntar nos dois casos se o select com mysql ou se for com um while a exibir os resultados todos dentro do select neste caso isso resolve uma das situações e se for sem ter os dados em mysql e tiver mesmo 3 opções assim como o que eu postei? 

Share this post


Link to post
Share on other sites
kenny

washalbano esqueci me de dizer que nao posso fazer essa coluna como unique porque o que estou a falar é para duplicar o registo. 

O que estou a falar é para um site que fiz em PHP e MYSQL para registar serviços de automóveis ou seja se fizer a coluna como unique nao posso registar mais serviços nessa mesma matricula.

Alguma outra ideia de como dar a volta a isso ?

Share this post


Link to post
Share on other sites
washalbano

Olá!
Aproveite que o banco de dados é relacional
Salve os serviços na tabela servicos e apenas relacione com as outras tabelas, assim vc evita dados repetidos desnecessariamente no seu database

mas, se não quiser otimizar seu database, use distinct na query de select, veja: https://www.techonthenet.com/mariadb/distinct.php

Share this post


Link to post
Share on other sites
kenny

Bem não sei se eu percebi bem ou se me estou a fazer entender mal.

Eu tenho 2 tabelas onde uma guardo as viaturas e quem são os clientes da mesma e outra onde guardo os serviços que são feitos.

Pois eu depois tenho que atribuir um ID ao dono da viatura para depois poder mostrar todos os serviços feitos nessa viatura ao cliente e ele nao conseguir ver outras viaturas nem outros serviços de viatura que nao sao dele.

Tive que fazer em tabelas separadas porque o ID atribuido pode ser atribuido a mais viaturas pois um cliente pode ter mais que uma viatura. 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.