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


Moderador: web

 
Mais de 10 postagens
Mais de 10 postagens
Tópico Autor
Mensagens: 11
Sexo: Masculino
Localização: Ijuí/RS/Brasil
Contato:

Ordernar seleção do BD

16-09-2008 16:23

Olá!

Possuo um bd com varios campos (Mysql) entre eles o campo empresa
Gostaria de ordenar a impressao de todos os itens q atendam a determinada condição em ordem alfabetica do nome empresa.
Tentei da seguinte forma:

<?php  for($ind=0;$ind<$rows;$ind`++) {  SELECT * FROM $table ORDER BY empresa WHERE ID=$IND  $resp... $reg... $id = $reg[0] $empresa=$reg[2].. print("$empresa"); }

Mas isso nao deu certo ele nao ordena quando uso o WHERE.. Como posso fazer?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17720
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Ordernar seleção do BD

16-09-2008 16:28

Isso é mysql.

MOVIDO de PHP para MySQL
0
A melhor hospedagem para o seu site HostGator!
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17720
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Ordernar seleção do BD

16-09-2008 16:41

Tenta o seguinte

SELECT campotal FROM suatabela WHERE campotal='$ind' ORDER BY campotal ASC

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 10 postagens
Mais de 10 postagens
Tópico Autor
Mensagens: 11
Sexo: Masculino
Localização: Ijuí/RS/Brasil
Contato:

Ordernar seleção do BD

16-09-2008 16:59

é o q tentei, mas num funcia!

SELECT * FROM $table WHERE id=$ind ORDER BY empresa

ele não está ordenando..
0
 
Mais de 10 postagens
Mais de 10 postagens
Tópico Autor
Mensagens: 11
Sexo: Masculino
Localização: Ijuí/RS/Brasil
Contato:

Ordernar seleção do BD

16-09-2008 17:05

O script deveria fazer 3 coisas, primeiro deve pesqisar tudo q existe no bd, depois ordenar esta pesquisa em ordem ascendente por empresa e, por ultimo, imprimir linha a linha todo o conteudo do bd atraves da nova ordenção.

Já tava até pesqisando uma forma de fazer com arrays mas tbm nao encontrei.

A instrução completa mysql é mais ou menos esta:

# INSTRUÇÃO SQL: $sql    =     "SELECT * FROM $table WHERE id=$ind ORDER BY empresa";                 $resp                 =         db_executa($conecta,$sql);                     $reg            =        mysql_fetch_array($resp);             # PEGA AS VARIÁVEIS DO POST:                 $id                    =    $reg[0];                 $estado                =    $reg[estado]; 

Mas se eu colocar fora do LOOP for, ele imprime sempre o mesmo conteudo nas 19 linhas existentes no bd hj. E se eu colocar dentro do loop ele nao ordena em ordem alfabetica..
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17720
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Ordernar seleção do BD

16-09-2008 17:42

Usa while, veja

<?php $conexao = mysql_connect("localhost", "login", "senha") or die(mysql_error()); mysql_select_db("bd"); $selec = "SELECT * FROM $table WHERE id='$ind' ORDER BY empresa ASC"; $exec = mysql_query($selec, $conexao) or die(mysql_error()); while($campos=mysql_fetch_array($exec)) { extract($campos); echo "$campo1, $nome, $campo3, etc..."; } ?>

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 10 postagens
Mais de 10 postagens
Tópico Autor
Mensagens: 11
Sexo: Masculino
Localização: Ijuí/RS/Brasil
Contato:

Ordernar seleção do BD

16-09-2008 18:06

vlw

funcionou! ¨embarassed¨
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17720
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Ordernar seleção do BD

16-09-2008 18:22

¨smiley¨
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 10 postagens
Mais de 10 postagens
Mensagens: 18
Sexo: Masculino

Ordernar seleção do BD

21-06-2011 19:31

Estou tentando fazer um select diferente, vejo que todos querem mudar somente o campo where.
Estou querendo fazer na tela uma opcao de listar por nome, produto etc. So que nao quero usar javascript, e estou com dificuldade, teria como mudar o campo ORDER BY empresa por ORDER BY $variavel, onde esta $variavel é um link na pagina que qdo o usuario clica por exemplo numa ancora nome ele passa o valor $variavel= = $_GET['cod'];
O meu select é o seguinte:

$sql = ("SELECT * FROM produto WHERE ativo='1' ORDER BY NOME_PRODUTO ASC"); 

0
 
Mais de 10 postagens
Mais de 10 postagens
Mensagens: 18
Sexo: Masculino

Ordernar seleção do BD

21-06-2011 19:33

teria como mudar:

$sql = ("SELECT * FROM produto WHERE ativo='1' ORDER BY NOME_PRODUTO ASC"); 

por

$sql = ("SELECT * FROM produto WHERE ativo='1' ORDER BY = "$variavel"ASC"); 

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

Ordernar seleção do BD

21-06-2011 19:37

Nessa sua query

$sql = ("SELECT * FROM produto WHERE ativo='1' ORDER BY = "$variavel"ASC"); 

$variavel seria o que exatamente?

Só dá certo se em $variavel tiver o nome de uma coluna de sua tabela, tipo:

$variavel = "colunatal"; $sql = mysql_query("SELECT colunas FROM produto WHERE ativo='1' ORDER BY $variavel ASC"); 

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 10 postagens
Mais de 10 postagens
Mensagens: 18
Sexo: Masculino

Ordernar seleção do BD

21-06-2011 19:40

Exatamente a variavel é uma coluna da tabela, no caso tenho nome, preco, cod, e categoria
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17720
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Ordernar seleção do BD

21-06-2011 19:41

Então, testa dessa forma.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 10 postagens
Mais de 10 postagens
Mensagens: 18
Sexo: Masculino

Ordernar seleção do BD

21-06-2011 19:47


$sql = mysql_query("SELECT colunas FROM produto WHERE ativo='1' ORDER BY $variavel ASC");  

o quer seria esse campo: colunas???
sempre usei:

$sql     = "select * from usuario where COD_USUARIO = cod"; 

Voce tbm poderia me explicar o que isso faz:

$sql = 'select produto.*, categoria.NOME_CATEGORIA               from produto              inner join categoria on produto.COD_CATEGORIA =                                       categoria.COD_CATEGORIA               where produto.ATIVO = 1              order by categoria.NOME_CATEGORIA'; 

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

Ordernar seleção do BD

21-06-2011 21:32

SELECT * .... Significa que você pede para procurar em todas as colunas da tabela, isso faz com que a consulta seja demorada. O ideal é fazer um select somente nas colunas que vai usar na consulta, por exemplo:

SELECT nome, idade WHERE nome='joao'

Essas 2 colunas "nome e idade" serão as únicas usadas, na query e no while. No caso se for usar outras colunas elas entrariam ai.

Te explicar essa query ai é meio complicado, porque existem vários valores que devem ser explicados isolados.

Eu posso te resumir que essa query faz uma busca em duas tabelas ao mesmo tempo, com base na coluna COD_CATEGORIA, isso serve para unir valores de duas tabelas para mostrar esses valores em uma única consulta. Ai inclui a coluna ATIVO, onde o valor for igual a 1, também ordena a consulta por uma coluna da tabela categoria.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 10 postagens
Mais de 10 postagens
Mensagens: 18
Sexo: Masculino

Ordernar seleção do BD

21-06-2011 22:02

valeu web, entendi como funciona agora.
0
 
Mais de 10 postagens
Mais de 10 postagens
Mensagens: 18
Sexo: Masculino

Ordernar seleção do BD

22-06-2011 15:26

meu codigo ainda continua dando erro

<?php      include 'cabecalho.php';     include 'body.php';     include 'conexao.php';      session_start();         // possiveis valores de $ordem: COD_PRODUTO;NOME_PRODUTO;COD_CATEGORIA        // esses valores sao passador por get: exe       //echo '<a href="ListaProduto.php?cod=VALOR_UNITARIO">Preco</a>'     $ordem = $_GET['cod'];     $sql = 'select produto.*, categoria.NOME_CATEGORIA               from produto              inner join categoria on produto.COD_CATEGORIA =                                       categoria.COD_CATEGORIA               where produto.ATIVO = 1              order by $ordem';     $rs  = mysql_query($sql); ?>

sera que ta faltando alguma coisa? ou nao é possivel desta forma?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17720
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Ordernar seleção do BD

22-06-2011 15:35

Qual erro é mostrado?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 10 postagens
Mais de 10 postagens
Mensagens: 18
Sexo: Masculino

Ordernar seleção do BD

22-06-2011 16:25


Warning: mysql_fetch_array(): supplied argument IS NOT a valid MySQL RESULT resource IN C:\Users\Henry\Desktop\mowes trm\www\teste\ecommerce 12-05-2011\admin\ListaProduto.php ON line 36   linha 36: while ($d = mysql_fetch_array($rs)){

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

Ordernar seleção do BD

22-06-2011 16:30

Baseado no seu código acima, faz sua query assim

$sql = mysql_query("select produto.*, categoria.NOME_CATEGORIA            from produto           inner join categoria on produto.COD_CATEGORIA =                             categoria.COD_CATEGORIA           where produto.ATIVO = 1          order by $ordem"); 

Seu while passa a ser esse

while($d=mysql_fetch_array($sql)) { 

Agora se der erro deve ser no SELECT, tem que observar nome das colunas, e esse $ordem, porque se você não passar a ordem vai dar erro.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 10 postagens
Mais de 10 postagens
Mensagens: 18
Sexo: Masculino

Ordernar seleção do BD

22-06-2011 17:34

valeu web agora deu certo. o problema estava mesmo no while, achei que fosse alguma sintaxe errado no select.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17720
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Ordernar seleção do BD

22-06-2011 17:37

;)
0
A melhor hospedagem para o seu site HostGator!

Quem está online

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