Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17584
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Bloquear valores já cadastrados no banco de dados MySQL

14-07-2013 23:11

Pode ser necessário, ter uma lista com alguns valores já cadastrados no banco de dados. Pode também, ser necessário bloquear valores que já estejam cadastrados, para que não se repita o cadastro.

Nesse post vou mostrar como isso pode ser feito.

Primeiro vou mostrar um exemplo, usando o foreach com uma listagem, que simula as 24 horas do dia.

<?php // SIMULANDO VALORES CADASTRADOS $horas = Array('3', '5'); echo "<select multiple>"; // SIMULANDO AS 24 HORAS DO DIA for($i = 0; $i < 25; $i++) { // VERIFICANDO SE A HORA LISTADA ESTÁ NO ARRAY if(in_array($i, $horas)) { echo "<option disabled='disabled'>$i</option>"; } else { echo "<option>$i</option>"; } } echo "</select>"; ?>

Para fazer a mesma coisa com banco de dados, será necessário usar a consulta somente para armazenar os valores cadastrados dentro do um array, como mostrado abaixo:

$valores = Array(); $query=mysql_query("SELECT * FROM minhatabela"); while($dados=mysql_fetch_array($query)) { extract($dados); $valores[] = $valor; } 

Essa consulta acima, serve para pegar todos os valores salvos no bd, e adicioná-los no array $valores.

Com os valores já salvos, posso fazer o seguinte:

echo "<select multiple>"; for($i = 0; $i < 25; $i++) { if(in_array($i, $valores)) { echo "<option disabled='disabled'>$i</option>"; } else { echo "<option>$i</option>"; } } echo "</select>"; 

Esse código vai listar nas options, do 0 até o 24, sendo que os valores retornados da consultas, que foram armazenados no array, ficarão bloqueados no select.

Dúvidas, só postar.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado