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

Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 121

Há outra forma de achar categorias repetidas

31-10-2008 11:25

Bom eu uso um script assim:

<html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body leftmargin="0" rightmargin="0" topmargin="0" bottommargin="0" text="#585858"> <BR><FONT SIZE="2" FACE="Verdana, Arial, Helvetica, sans-serif"><? include "config.php"; $conexao = mysql_connect("$dbhost","$dbuser","$dbpass"); $db = mysql_select_db("$dbname") or die ("Banco de Dados Inesistente!"); $sql = "SELECT DISTINCT id,categoria FROM categorias ORDER BY categoria asc"; $resultado = mysql_query($sql) or die ("Não foi possivél realizar a consulta no banco de dados"); while ($linha=mysql_fetch_array($resultado)) { $id = $linha["id"]; $categoria = $linha["categoria"]; echo "$categoria - <a href=\"/painel_admin/apagar_categoria_bd.php?id=$id\">Apagar esta Categoria<br></a></font>"; } ?></FONT> </body> </html>

A intensão dele seria apenas comparar as categorias que parecessem duplicadas e listar, certo ??? ou errado? rs.
Bom ele lista, só que lista tudo parecido, não tem como fazer com que ele mostre apenas os que são 100% iguais?

Att
Nill Ribeiro
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17236
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Há outra forma de achar categorias repetidas

31-10-2008 11:31

Qual é a sua intenção nessa listagem?

Como está seu bd e o que precisa ser feito?
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 121

Há outra forma de achar categorias repetidas

31-10-2008 11:32

Bom eu queria que ele listasse se existisse alguma categoria igual.

Ex, tivesse cadastrado duas categorias FORROS ai ele listaria para facilitar na exclusão.

Att
Nill Ribeiro
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17236
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Há outra forma de achar categorias repetidas

31-10-2008 12:01

O ideal é que você tenha uma verificação para não inserir categegorias repetidas.

Conheço até uma forma, só não sei se vai ser útil

SELECT campo FROM suatabela HAVING COUNT(campo) >= 1

O que esse script faz é trazer somente a coluna que tem mais de uma linha do mesmo item.
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17236
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Há outra forma de achar categorias repetidas

31-10-2008 12:37

Fiz uma gambiarra aqui que acho que deu certo, vou explicar no código

<?php // esse bloco é o padrão de acesso ao documento if(!$_GET['altera']) { // altere os dados da conexão $conexao = mysql_connect("localhost", "login", "senha") or die(mysql_error()); $db = mysql_select_db("bd"); // aqui vai retornar todas as linhas, sendo que de forma única $selec = "SELECT DISTINCT campo, COUNT(campo) AS vai FROM suatabela GROUP BY campo"; $exec = mysql_query($selec, $conexao) or die(mysql_error()); while($campos=mysql_fetch_array($exec)) { extract($campos); // aqui está a chave, quando tive 2 ou mais registro do mesmo item mostra o link abaixo com o número de registros if($vai >= 2) { echo "<a href='?altera=$nome'>$campo - $vai</a><br>"; } } } else { // altere os dados da conexão $conexao = mysql_connect("localhost", "login", "senha") or die(mysql_error()); $db = mysql_select_db("bd"); // Note no link mais acima que passo o nome por alera, e faço um novo select só retornando os dados repetidos $selec = "SELECT campo FROM suatabela WHERE campo='".$_GET['altera']."'"; $exec = mysql_query($selec, $conexao) or die(mysql_error()); while($campos=mysql_fetch_array($exec)) { extract($campos); echo "$campo<br>"; } } ?>

0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 121

Há outra forma de achar categorias repetidas

31-10-2008 12:48

Ok, vou testar.

Att
Nill Ribeiro
0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 121

Há outra forma de achar categorias repetidas

31-10-2008 14:35

Testei, aqui não funcionou, como eu faria para que ele não aceitasse o cadastro se já tiver sido cadastrado??

Att
Nill Ribeiro
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17236
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Há outra forma de achar categorias repetidas

31-10-2008 14:58

Você deve ter deixado de alterar algum campo ai no exemplo.

Já para não deixar cadastro repetido tem que fazer um SELECT com base no valor, se retornar alguma linha não insere a informação, caso contrário, insere.

<?php $conexao = mysql_connect("localhost", "login", "senha") or die(mysql_error()); $db = mysql_select_db("bd"); $selec = "SELECT campo FROM minhatabela WHERE campo='essevalor'"; $exec = mysql_query($selec, $conexao) or die(mysql_error()); $total = mysql_num_rows($exec); if($total >= 1) { echo "Já existe esse item"; } else { echo "Seu INSERT"; } ?>

No caso esse valor no script vai vir via GET, POST, etc.
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 121

Há outra forma de achar categorias repetidas

31-10-2008 17:07

Ok, Obrigado.
0

Quem está online

Usuários navegando neste fórum: Google Adsense [Bot]