prijs van laag naar hoog

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Michiel v

michiel v

19/03/2012 15:45:41
Quote Anchor link
Ik heb de onderstaande query maar krijg de prijzen niet goed van laag naar hoog te zien. Bijvoorbeeld:

de lijst geeft volgende prijzen:
€ 0,25
€ 0,19
€ 0,24

In plaats van:
€ 0,19
€ 0,24
€ 0,25

Hoe kan dit? Wat doe ik verkeerd in mijn query?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
    $query
= "
    SELECT u.user_name, u.country, u.user_level, p.productID, p.categoryID, p.subcategoryID, p.productNAME, p.productPRICE, DATE_FORMAT(p.createDATUM,'%d %b') as createDATUM_formatted, p.createTIJD, p.businessprotection, p.VAT, p. VATclass, p.currency, p.totalMinimum, p.pricePer, p.pricePerOne, p.moreInStock, p.remarks, p.what, p.fotoProduct1, p.unitSet
    
    FROM users AS u JOIN product AS p
    
    ON u.id = p.usersID
    WHERE p.pricePerOne > '0,01'

        
        
    ORDER BY  pricePerOne+00 DESC,  ' . $country . '  LIMIT  $offset, $limit
    "
;
?>
 
PHP hulp

PHP hulp

08/09/2024 04:07:51
 
Erwin H

Erwin H

19/03/2012 15:52:13
Quote Anchor link
Om te beginnen:
pricePerOne+00 DESC

Dit sorteert het nu aflopend (descending), terwijl van laag naar hoog oplopend is (ascending). Je moet dus ASC gebruiken.

Maar daarnaast doet dit met huiveren:
WHERE p.pricePerOne > '0,01'

Zie ik daar dat je het als een string hebt opgeslagen? In dat geval kan je er vrees ik weinig meer aan doen. Want hoe staan de waardes dan in de database? '0,19', ',25' etc? Opslaan als float dus.
 
Kris Peeters

Kris Peeters

19/03/2012 16:02:19
Quote Anchor link
Dan zou ik aanraden dat je die tabel exporteert, het type op float zet (ofwel werk je in eurocent; dan kan je met integer werken) en de gegevens terug importeert in het juiste formaat.

Daarna kan je sorteren zoals je wil.
 
Michiel v

michiel v

19/03/2012 16:28:42
Quote Anchor link
Ok bedankt!

Weet nu waar ik het zoeken moet!

Thanks!!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.