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

zukinha

Por Favor Digam Onde Errei (Order By ASC)

Mensagens Recomendadas

zukinha

Boas,

Alguem me pode dizer o que esta errado no codigo para o preço ficar por ordem ASC?

É que estou a duas horas tentar e ou dame erro ou na funciona...  :mad: Ja tou capaz de jogar o pc pela janela...  :rant_01:

<?php

//connect include
require("connect.php");


//favicon
echo '<head>
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
</head>';

if ($_POST['submit']);

{

//extract data
$extract = mysql_query("SELECT * FROM abatedoresdetemperatura ORDER BY Preço ASC") or die(mysql_error());
$numrows = mysql_num_rows($extract);

echo "<table border='1' width='100%'>
  <tr>
    <th>Modelo</th>
    <th>Niveis</th>
    <th>Produção +3ºC / -18ºC </th>
    <th>Tipo</th>
    <th>Marca</th>
    <th>Preço</th>
    <th>Designação</th>
  </tr>
";

while ($row = mysql_fetch_assoc($extract))

{


       $Modelo = $row ['Modelo'];
       $Niveis = $row ['Niveis'];
       $Producao = $row ['Produção +3ºC / -18ºC'];
       $Tipo =  $row ['Tipo'];
       $Marca = $row ['Marca'];
       $Preco = $row ['Preço'];
       $Designacao = $row ['Descrição'];

echo "<tr>
  <td style=\"text-align:center;\"><b>".$Modelo."</b></td>
  <td style=\"text-align:center;\">".$Niveis." GN-1/1</td>
  <td style=\"text-align:center;\">".$Producao."</td>
  <td style=\"text-align:center;\">".$Tipo."</td>
  <td style=\"text-align:center;\">".$Marca."</td>
  <td style=\"text-align:center;\">".$Preco." €</td>
  <td style=\"text-align:center;\">".$Designacao."</td>
</tr>";


}

}

echo "</table><br />";

?>

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
diokhan
$extract = mysql_query("SELECT * FROM abatedoresdetemperatura ORDER BY Preço ASC") or die(mysql_error());

é isto que não queres? esta na query do teu código


...Join the dark side...and get a free cookie...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
zukinha

Brigado rapida ajuda.

Porem como o user "dicas3D" me disse, acho que descobri onde esta o erro, os preços teem virgulas e pontos (casas decimais), exemplo 1.900,00€ penso que isto tenha atrofiado se certa o "$Extract". :rant_01:

Pode ter sido isto ou podera existir outro problema?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
softklin

Duas recomendações adicionais:

- cuidado com o nome das colunas

- evita queries to género "SELECT * FROM...". Se não precisas dos campos todos, escolhe apenas os campos que precisas.


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
zukinha

Boas amigo,

Brigado pelas recomendações, eu nao percebo ainda muito disto, tudo que esta foi adaptado de um tuturial...

Mas como posso melhorar os pontos que referiste?

Brigado.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
softklin

Sobre o nome das colunas, estava a dizer para evitar acentos, ou outros caracteres que não sejam letras ou números, pode causar confusão nalguns sistemas (por exemplo, escolher nomes do género que escolheste para as tuas variáveis no PHP (manutencao, producao, etc))

A dica de não usar SELECT * permite ter queries mais rápidas em grande volume de dados, porque ao fazer um SELECT *, o SGBD irá buscar todos os valores de todas as colunas, enquanto que se explicitares quais os campos pretendidos, reduzes o volume de informação devolvido. Esta dica só faz sentido se o número de colunas que realmente precisamos é inferior ao número de colunas que temos na tabela, por exemplo, se tiveres uma tabela com 20 campos, e usares 19, é obvio que o SELECT * vai poupar o trabalho de detalhares cada campo.


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
zukinha
Sobre o nome das colunas, estava a dizer para evitar acentos, ou outros caracteres que não sejam letras ou números, pode causar confusão nalguns sistemas (por exemplo, escolher nomes do género que escolheste para as tuas variáveis no PHP (manutencao, producao, etc))

Infelizmente ja aprendi essa lição. a ordem ASC nao estva a funcionar correrctamento por causa de ter pontos e virgulas. i infelizmente a resolução passa por fazer os preços todos de novo...

A respeito do select , coloquei copiado do tutorial, ele fez assim e eu copiei.. xD mas por acaso ate fix correcto sem saber. axo eu... tipo eu tenho uma base de dados falando em carros ke é mais facil.. o nome da base de dados é carros e depois tenho as tabelas com as marcas tipo cada tabela é uma marca.

Depois em html criei uma pag com imperligações para a base de dados. ao fim ao cabo fikou tudo individual.. entendes? 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
softklin

Eu percebo, só tentei dizer que nalgumas situações particulares pode ficar mais optimizado indicares explicitamente os dados que queres. Não é incorrecto usar SELECT *, apenas existem casos onde usar outra estratégia é mais favorável :confused: Fica a dica.


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
zukinha

Ist de criar codes tem muito k se lhe diga... Tenho apanhado irritações levando por vezes a substituiçao do teclado por causa de estar um espaço nu sitio indevido, ou faltar um ponto algures em casa 100 linhas... xD :fartnew2:

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
zukinha

Ja descubri o erro, a origem tava mal e a i estar tudo mal. Mais um dakeles erros que uma pessoa nao liga, descubri por acaso.

na tabela que fix no PHPADMIN coloquei preço com "P" maiusculo e quando fix "ORDER BY preço ASC" tava "p" minusculo da i os preços nao darem certos.

O meu pc teve a beira de ir pela janela por causa de um "P" minusculo.... :rant_01:

XD

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
dicas3d

Infelizmente ja aprendi essa lição. a ordem ASC nao estva a funcionar correrctamento por causa de ter pontos e virgulas. i infelizmente a resolução passa por fazer os preços todos de novo...

A respeito do select , coloquei copiado do tutorial, ele fez assim e eu copiei.. xD mas por acaso ate fix correcto sem saber. axo eu... tipo eu tenho uma base de dados falando em carros ke é mais facil.. o nome da base de dados é carros e depois tenho as tabelas com as marcas tipo cada tabela é uma marca.

Depois em html criei uma pag com imperligações para a base de dados. ao fim ao cabo fikou tudo individual.. entendes? 

Não sei se já resolveste esse problema que tinhas mas um possível solução é dividires o campo dos preços em 2 campos, um com a parte inteira e outro com a decimal.


Abraços

dicas3d

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
softklin

Dicas3d, porque dizes isso? Quase todos os SGBD devem suportar o tipo de dados float ou similar, sem problemas. A questão é ter cuidado com a representarão com ponto ou vírgula.


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
zukinha
é dividires o campo dos preços em 2 campos, um com a parte inteira e outro com a decimal.

Ja exprimentei isso mas é muito complicado trabalhar com a função decimal do xampp e como isto é uma coisa de imensa responsabilidade uma vez que é um catalogo com os preços para a empresa resolvi nao arriscar tendo utilizado a função TEXT, as vezes atrofia na organização  dos preços mas sao erros pequenos por exemplo:

1

2

21,3

3

4

43,2

etc...

obrigado por toda a ajuda que me deram ate agr... =D

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
zukinha

Boas yoda,

è um pouco das duas coisas, porque uma vez que trabalho com valores muito altos 5.000,00€ a 75.000,00€.

Imagina um valor mal feito? sao logo nu MINIMO 500,00€ (o meu ordenado).

Por isso é que tive um bocado grande de receio de trabalhar com as decimais do xampp.

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.