Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] - wyświetlanie ceny
Forum PHP.pl > Forum > Przedszkole
bybek5
Witam
Zacznę może od tego, że nie znam języka php i dlatego może to być banalne pytanie. Na stronie www: Ogłoszenia nieruchomości. Ale mniejsza z tym. Chodzi mi o wyświetlanie ceny. Jak zrobić, żeby przy cenie np. 2700, 1600000 nie były one tak wyświetlane tylko tak: 2.700; 1.600.000. A cena 650 niech tak będzie jak jest.
Z tego co podejrzałem, to wszystko przekazywane jest przez zmienną $cena np.
<table cellpadding=0 cellspacing=0><tr><td class=cena align=right>$cena PLN</td>
A jak podczas wypełniania formularza ogłoszeniowego napisze cene tak: 2.666 to póżniej mam wyświetlane tylko liczby do kropki czyli tylko 2 PLN
kefirek
Chyba o to chodzi
  1. <?php
  2. $cena = 2700;
  3. $cena2 = 1600000;
  4.  
  5. echo number_format($cena).'<br>';
  6. echo number_format($cena2).'<br>';
  7. ?>
bybek5
Raczej o to. Ale jak zrobiłem tak: <table cellpadding=0 cellspacing=0><tr><td class=cena align=right>number_format($cena) PLN</td> to na stronie wyświetliło mi się takie cos: Cena: number_format(650) PLN
Morowis
Jak ci się takie coś wyświetla to znaczy, ze chyba używasz echo. Chociaż z czego wiem to nie ma żadnej różnicy to ja bym jednak zrobił tak
  1. <?php
  2.  
  3. echo "<table cellpadding=0 cellspacing=0><tr><td class=cena align=right>".number_format($cena)." PLN</td>";
  4. ?>


Wydaje mi się, że będzie działać - bynajmniej u mnie działa.
Bartusek
Cytat(Morowis @ 14.02.2009, 22:38:24 ) *
Jak ci się takie coś wyświetla to znaczy, ze chyba używasz echo. Chociaż z czego wiem to nie ma żadnej różnicy to ja bym jednak zrobił tak
  1. <?php
  2.  
  3. echo "<table cellpadding=0 cellspacing=0><tr><td class=cena align=right>".number_format($cena)." PLN</td>";
  4. ?>


Wydaje mi się, że będzie działać - bynajmniej u mnie działa.


Można też zrobić tak

  1. <table cellpadding=0 cellspacing=0><tr><td class=cena align=right><?php $cena = 500; echo number_format($cena); ?> PLN</td>
Morowis
Oczywiście, że można, lecz moja wersja wydaje się (bynajmniej dla mnie) bardziej czytelna.
No ale co kto lubi winksmiley.jpg.
DREEMus
Cytat(bybek5 @ 14.02.2009, 20:36:17 ) *
np. 2700, 1600000 nie były one tak wyświetlane tylko tak: 2.700, 1.600.000.
A cena 650 niech tak będzie jak jest.

Widzę, że nie korzystasz z miejsc dziesiętnych ... więc ich nie będzie.
  1. <?php
  2. $liczba = 1600000;
  3. echo numer_format ($liczba, '0', '', '.') . ' PLN';
  4. // Wynik: 1.600.000 PLN
  5. ?>


Cytat(bybek5 @ 14.02.2009, 20:36:17 ) *
<table cellpadding=0 cellspacing=0><tr><td class=cena align=right>$cena PLN</td>

A kto z Was zauważył, że kolega chce mieć "kropki" przed tysiącem, milionem itd questionmark.gif
A dwa, jak łączysz PHP z HTML'em questionmark.gif

To jest gotowe rozwiązanie z kropkami biggrin.gif
  1. <?php
  2. echo '<table cellpadding="0" cellspacing="0"><tr><td class="cena" align="right">' . number_format($cena, '0', '', '.') . '</td></tr>...';
  3. ?>

Jest jeszcze możliwość wstawiania takie liczby do bazy jako tekst, zmień typ pola na "VARCHAR" i już smile.gif

Cytat(kefirek @ 14.02.2009, 20:44:01 ) *
Chyba o to chodzi
  1. <?php
  2. $cena = 2700;
  3. $cena2 = 1600000;
  4.  
  5. echo number_format($cena).'<br>';
  6. echo number_format($cena2).'<br>';
  7. ?>

Kolega chce mieć jeszcze kropki winksmiley.jpg
decha-design
A po kiego varchar? snitch.gif

slyszaleś kiedykolwiek o float?
DREEMus
słyszałem smile.gif
"mała liczba rzeczywista, zmiennoprzecinkowa", ale kolega chce mieć kropki biggrin.gif
Więc chyba nie wstawisz "1.600.000" w pole z float winksmiley.jpg
decha-design
no dobra, niech Ci bedzie =))

zwracam honor haha.gif
bybek5
Dzięki za rady,ale słuchajcie ja mam taki kod:
  1. <?
  2. //część kodu z mojego pliku "funkcje.php"
  3. echo"<table cellpadding=1 cellspacing=1 ><tr><td class=kopis>";
  4.       do_html_urlbold3($url, $title);
  5.       echo "</td> </tr>
  6.       <tr><td class=kopis>&nbsp;$opis2</td> </tr></table>
  7.       </td>
  8.  
  9.       <td align=right valign=top>
  10.       <table cellpadding=0 cellspacing=0><tr><td class=cena align=right>$cena PLN</td> </tr>
  11.       <tr><td>&nbsp;</td></tr>
  12.       <tr><td class=dodano>Dodano: $data</td> </tr></table>
  13.       </td>
  14.       </tr>
  15.       </table>";
  16. ?>

i jak mam tutaj zastosować to number_format, żeby był dobrze bo narazie mi coś nie wychodzi
Bartusek
Cytat(bybek5 @ 15.02.2009, 16:25:00 ) *
Dzięki za rady,ale słuchajcie ja mam taki kod:
  1. <?
  2. //część kodu z mojego pliku "funkcje.php"
  3. echo"<table cellpadding=1 cellspacing=1 ><tr><td class=kopis>";
  4.      do_html_urlbold3($url, $title);
  5.      echo "</td> </tr>
  6.      <tr><td class=kopis>&nbsp;$opis2</td> </tr></table>
  7.      </td>
  8.  
  9.      <td align=right valign=top>
  10.      <table cellpadding=0 cellspacing=0><tr><td class=cena align=right>$cena PLN</td> </tr>
  11.      <tr><td>&nbsp;</td></tr>
  12.      <tr><td class=dodano>Dodano: $data</td> </tr></table>
  13.      </td>
  14.      </tr>
  15.      </table>";
  16. ?>

i jak mam tutaj zastosować to number_format, żeby był dobrze bo narazie mi coś nie wychodzi


  1. <?
  2. //część kodu z mojego pliku "funkcje.php"
  3. $xcena = number_format($cena);
  4.  
  5. echo"<table cellpadding=1 cellspacing=1 ><tr><td class=kopis>";
  6.      do_html_urlbold3($url, $title);
  7.      echo "</td> </tr>
  8.      <tr><td class=kopis>&nbsp;$opis2</td> </tr></table>
  9.      </td>
  10.  
  11.      <td align=right valign=top>
  12.      <table cellpadding=0 cellspacing=0><tr><td class=cena align=right>$xcena PLN</td> </tr>
  13.      <tr><td>&nbsp;</td></tr>
  14.      <tr><td class=dodano>Dodano: $data</td> </tr></table>
  15.      </td>
  16.      </tr>
  17.      </table>";
  18. ?>
bybek5
Aha czyli nie musze nic praktycznie w kodzie zmieniać tylko zrobić takie coś:
  1. <?php
  2. $xcena = number_format($cena);
  3. ?>


A jak ja mam wcześniej takie coś:
  1. <?php
  2. $cena=$row['cena'];
  3. ?>

to mam tutaj coś zmienić czy zrobic nową zmienną i zrobić tak jak wyżej zrobił Bartusek?
Bartusek
Cytat(bybek5 @ 15.02.2009, 17:21:10 ) *
Aha czyli nie musze nic praktycznie w kodzie zmieniać tylko zrobić takie coś:
  1. <?php
  2. $xcena = number_format($cena);
  3. ?>


A jak ja mam wcześniej takie coś:
  1. <?php
  2. $cena=$row['cena'];
  3. ?>

to mam tutaj coś zmienić czy zrobic nową zmienną i zrobić tak jak wyżej zrobił Bartusek?

Nie musisz.

  1. <?php
  2. $cena = $row['cena'];
  3. $xcena = number_format($cena);
  4.  
  5. //tabele i cały kod
  6. ?>
bybek5
Po częścidziała. Ale chyba nie do końca, bo jeszcze nie zmieniłem takiego czegoś:
  1. <?php
  2. $cena=$ogloszenie['cena'];
  3. ?>

czy mam jeszcze dodać jeszcze to, aby było dobrze:?
  1. <?php
  2. $xcena=$ogloszenie['cena'];
  3. ?>

czy jakoś inaczej trzeba?

Już znalazłem pomoc. Dzięki DREEMus smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.