Chceš rozjet Affiliate? Tak jedině v CJ.com, technologii využívá iDnes.cz, Denik.cz i SME.sk
Zobrazují se odpovědi 1 až 14 z 14

Řazení podle ceny

  1. tomix Hodnocení: 5 (100%) tomix je zatím velká neznámá
    1
    Ahoj, nevíte někdo prosím jak seřadit záznamy z databáze podle ceny? Použil jsem ORDER BY CENA ASC ale neřadí to správně, sloupec s textem to řadí bezproblémově... už do toho koukám asi hodinu a jsem z toho úplně v lese :( Díky

  2. Co se právě děje na Webtrhu?
  3. kuzmic Hodnocení: 44 (100%) kuzmic je na dobré cestě
    2
    Nechceš sem poslat tvar tvého selectu? Máš sloupec v databázi ve správném formátu?

  4. CrakeN Hodnocení: 4 (100%) CrakeN je zatím velká neznámá
    3
    No, bez výpisu aspoň časti dát z DB ti ťažko niekto poradí, keď nevieme, ako vyzerá výstup. Prípadne aj SQL príkaz, lebo ORDER BY cena ASC by malo bez problémov fungovať.

  5. winexec Hodnocení: 36 (100%) winexec bude brzy slavný/á winexec bude brzy slavný/á
    4
    Vidim to na blbe nastaveny sloupec CENA v db.... vsadil bych se, ze tam mas (var)char .... zmen to na DECIMAL
    K hodnote musis pristupovat jako k cislu, ne jak k retezci

  6. tomix Hodnocení: 5 (100%) tomix je zatím velká neznámá
    5
    Příkaz mam takový:
    Kód:
    $q = mysql_query("SELECT * FROM sklad WHERE kat='1' ORDER BY cena ASC ");
    while($v=mysql_fetch_array($sql)) { 
      echo $v['cena'].'<br>';
    }
    Čísla v db ve sloupci CENA jsou takto: 12.50, 10.80, 62.50, 33.50 atd

  7. kuzmic Hodnocení: 44 (100%) kuzmic je na dobré cestě
    6
    A v jakém typu máš sloupec cena v DB? Zkus si ty čísla jen tak cvičně přespat na celá. Jinak to vypadá v pořádku.

  8. tomix Hodnocení: 5 (100%) tomix je zatím velká neznámá
    7
    Citace Původně odeslal kuzmic Zobrazit příspěvek
    A v jakém typu máš sloupec cena v DB? Zkus si ty čísla jen tak cvičně přespat na celá. Jinak to vypadá v pořádku.
    Mám tam VARCHAR .... když jsem tam dal DECIMAL jak tu někdo psal tak to funguje skvěle, jen při výpisu když mám číslo 10 (bez desetin) se mi vypíše 10.00 což nechci (desetiny chci vypsat jen když tam jsou)

  9. kuzmic Hodnocení: 44 (100%) kuzmic je na dobré cestě
    8
    Tak to nedávej jako decimal ale int

  10. Citace Původně odeslal kuzmic Zobrazit příspěvek
    Tak to nedávej jako decimal ale int
    to je blbost dkyz potrebuje mit desetinnou carku :D:D spis to proste pri vypisu normalne projed podminkou :)

  11. tomix Hodnocení: 5 (100%) tomix je zatím velká neznámá
    10
    Dal jsem INT a všechny čísla se zaokrouhlily na celé čísla, tzn přišel jsem o desetiny. Do db nejde ani desetinná tečka ani čárka napsat

  12. kuzmic Hodnocení: 44 (100%) kuzmic je na dobré cestě
    11
    Špatně jsem si to přečetl, myslel jsem že se chceš zbavit těch desetin.

  13. CrakeN Hodnocení: 4 (100%) CrakeN je zatím velká neznámá
    12
    A čo takto DOUBLE s 2 Decimals? Malo by to fungovať, aspoň cez phpmyadmin to zoraďuje korektne.

    EDIT: Moja chyba, nerieši to problém so zobrazovaním čísla ...

  14. Citace Původně odeslal tomix Zobrazit příspěvek
    jen při výpisu když mám číslo 10 (bez desetin) se mi vypíše 10.00 což nechci (desetiny chci vypsat jen když tam jsou)
    To už je otázka formátování, ne databáze.
    Převeďte ceny z řetězců na float a PHP přestane zobrazovat desetinné nuly.
    Kód:
    $number = (float)$number;
    Jinak je vaším přítelem také funkce number_format().

  15. tomix Hodnocení: 5 (100%) tomix je zatím velká neznámá
    14
    Tak jsem narychlo vygooglil toto řešení.... echo str_replace('.00','',$v['cena']); které vrátí stejný výsledek jako FLOAT který jsem bohužel neznal.
    Nyní už je vše správně. Pokud by to někdo někdy potřeboval, tak sloupec s cenou nastavit na DECIMAL (diky winexec) a výpis prohnat přes FLOAT (díky Martin Schlemmer)

    A taky díky všem ostatním za snahu

Hostujeme u Server powered by TELE3