21. září bude sraz! Od 18.00 v restauraci Tradice v Praze u Anděla
Autor Zpráva
Katii
Profil
Zdravím,
mám v db tabulce sloupec age s datovým typem decimal(10,1) a v něm nějaké random hodnoty: 5.3, 2.1, 1,9 ...
a potřebuji z toho vypsat 5 let a 3 měsíce, 2 roky a 1 měsíc, 1 rok a 9 měsíců ...
poradíte mi prosím, jak si poradit s tím skloňováním?

začala jsem takhle, ale napadá mě jen vypsat do podmínky if nekonečně mnoho ($full_age == 1.1), ($full_age == 1.2)... což by bylo pochopitelně na dlouho. Nenapadá vás, jak to jednodušeji zapsat podmínky, nebo zvlášť formátovat číslo za a před desetinou čárkou?
$result = mysqli_query($con,"SELECT * FROM `tabulka` WHERE `id` = '$id'");
$result = $result->fetch_assoc();
$full_age = $obsah['age']; //celý věk z databáze
if(podmínka) {
    $age = number_format($full_age, 1, " let a ", " ")." měsíců";
}
Děkuji moc za rady :)
pcmanik
Profil
Katii:
Rozdeľ si ten vek cez explode podľa bodky a potom máš skloňovanie na 6 podmienok, možno aj menej češtinu až tak neovládam :)
Katii
Profil
pcmanik:
super, díky moc :)
Tomášeek
Profil
Katii, pcmanik:
Takto opravdu ne.

5,3 roku není totéž, co 5 let a 3 měsíce. Jak byste pak zapsali desetinným číslem "4 roky a 11 měsíců"?
pcmanik
Profil
Tomášeek:
4.11? Že Katti čudne ukladá dátum je jedna vec no na druhú stranu asi jej to tak vyhovuje.
Tomášeek
Profil
pcmanik:
To těžko, 4.11 je neplatná hodnota, sloupec je typu decimal(10,1).
Katii
Profil
samozřejmě máte pravdu s těmi měsíci, nedošlo mi to. Ještě se v tom prohrabu, ale co jsem potřebovala vědět už vím :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0