Jump to content

Por Favor Digam Onde Errei (Order By ASC)


zukinha
 Share

Recommended Posts

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...  ? Ja tou capaz de jogar o pc pela janela...  ?

<?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 />";

?>

Link to comment
Share on other sites

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". ?

Pode ter sido isto ou podera existir outro problema?

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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? 

Link to comment
Share on other sites

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 😕 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.

Link to comment
Share on other sites

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:

Link to comment
Share on other sites

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.... ?

XD

Link to comment
Share on other sites

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

Link to comment
Share on other sites

é 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

Link to comment
Share on other sites

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.

Link to comment
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
 Share

×
×
  • 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.