Jump to content

ordem ASC ou DESC atrofiadas no xampp


zukinha
 Share

Recommended Posts

Boas,

Sim estou a utilizar o phpmyadmin, eu insiro os dados e o k acontece por vezes é eu (mesmo na tabela no php admin) pedir ordem ascendente e akilo atrofia no sentido de nao estar certo por exemplo nesta ultima tabela ficou assim:

"10

12

13

14

15

2

3

4

5"

entendes como fika?

Isto passa-se mesmo na tabela no phpMyAdmin.

Depois como ja vist no outro topico ond postei o codigo estou a fazer "ORDER BY preço ASC". e por vezes nao fika certo.

Sabes o que podera ser?

Link to comment
Share on other sites

É um campo VARCHAR, TEXT ou algo do género. Se fosse um campo INT já fazia bem.

Não há nada a fazer* senão reconstruir a estrutura.

* Eventualmente, muito eventualmente, podias usar uns casts para converter para inteiro e depois ordenar, mas tem uma penalização de performance violentíssima nas queries, pelo que o seu uso é fortemente desaconselhado.

"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Link to comment
Share on other sites

É um campo VARCHAR, TEXT ou algo do género. Se fosse um campo INT já fazia bem.

Está explicado.

è mesmo disso.

Nos campos enk utilizei INT funca nos outro atrofia... Mas eu deixei de usar INT por causa que nao me aceita virgulas e pontos. qual o campo aconselhavel para ficar tudo bem?

Obrigado

Link to comment
Share on other sites

Nos campos enk utilizei INT funca nos outro atrofia... Mas eu deixei de usar INT por causa que nao me aceita virgulas e pontos. qual o campo aconselhavel para ficar tudo bem?

Os número não têm vírgulas, apenas pontos. Podes usar DECIMAL, DOUBLE ou FLOAT.

"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Link to comment
Share on other sites

Os número não têm vírgulas, apenas pontos.

O meu boss quer que coloque nos preços. por exemplo 1.650,00€. que opção posso utizar?

Ja testei o decimal mas achei confuso na selecção de caracteres, pois nunca dava certo. nunca percebi porque. :S

Link to comment
Share on other sites

O meu boss quer que coloque nos preços. por exemplo 1.650,00€. que opção posso utizar?

Isso é uma questão de apresentação, não relacionado com o modelo de dados. Os dados devem ser modelados como DECIMAL(10,2), por exemplo, e depois formatados para efeitos de apresentação com a instrução number_format.

"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Link to comment
Share on other sites

, e depois formatados para efeitos de apresentação com a instrução number_format.

Nao encontro o number_format, onde esta altero isso?

O number_format é uma instrução do PHP, my bad, devia ter explicado melhor. Dizendo de outra maneira, a tua layer de apresentação, seja em que linguagem for, é que tem de se preocupar com esses detalhes. Ao nível dos dados, um número é sempre um número, com a parte decimal separada pelo separador decimal aplicável, que normalmente é um ponto.

"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Link to comment
Share on other sites

Deixa ver se percebi.

Eu aind sou muito recent em programação... a 3 meses atraz nao sabia fazer um paragrafo em php.. LooOL

estas a dizer para eu fazer tipo predefinição, por exemplo

<td style=\"text-align:center;\">".$Preco.",00 €</td>

Tipo isto?? =D

Link to comment
Share on other sites

<td style=\"text-align:center;\">".$Preco.",00 €</td>

Tipo isto?? =D

Andas lá perto:

echo "<td style='text-align:center;'>" . number_format($Preco, 2, ",", ".") . " €</td>"

Vai cuspir, por exemplo, 10.000,00 €. Clica na função number_format para saber mais na documentação oficial.

"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Link to comment
Share on other sites

Ja estou a perceber... so é pena é que tenha de passar de novo o preço de 1.942 artigos.. LooOL

mas por exemplo para colocar 1.500 no decimal como meto os caracteres?

Na BD? 1500 ou 1500.0 ou 1500.00, como te der mais jeito. O bicho sabe que aquilo é um número, não te preocupes.

"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Link to comment
Share on other sites

Na estrutura da BD quando estou a definir os campos. no preço meto o tipo em decimal depois nos valores como coloco se kiser colocar depois o preço de 1.500 ?

Eh pá, isso foi um bocado confuso...  😄 Evita lá os k's, ok? Já bastou os nomes dos jogadores da Coreia do Norte para coisas impronunciáveis hoje...

Ao definir a BD, defines o campo como DECIMAL(10,2) no tipo (isto quer dizer que tens 10 algarismos para preencher, sendo que 2 deles são decimais, vais ter campo até ao 99999999.99).

Quando quiseres inserir, a partir do PHP, passas para o SQL o número em formato de... número. Se for um número inteiro passas 1500, se for um número decimal passas um número com o separador decimal ponto, 1500.50.

Just like that.

"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Link to comment
Share on other sites

Eh pá, isso foi um bocado confuso...  Evita lá os k's, ok? Já bastou os nomes dos jogadores da Coreia do Norte para coisas impronunciáveis hoje...

hehehe... O pessoal anda no msn depois mete-se com esta maravilhosa escrita. LoL

Pois ja percebi como trabalhar com o decimal, vou definir o valor como (10.3) para ficar como por exemplo "1.500" depois o ",00€" fica pré-definido na progração em php.

Assim ja nao irá dar aquele erro de as coisas nao ficarem ordenadas.

Olha depois quando poderes passa la no outro topico que estou um bocado a toa com aquilo....

Obrigado por tudo amigo.

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.