Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: склонение слов на php

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: вывод правильного склонения слова с числом на php
classic1698
Отправлено: 19 Декабря, 2013 - 22:05:57
Post Id


Новичок


Покинул форум
Сообщений всего: 51
Дата рег-ции: Дек. 2013  


Помог: 0 раз(а)




Всем привет!
Что-то ни как не могу "допетрить".
Есть код с выводом на слова на php
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php echo $results['totalRows']?> article<?php echo ( $results['totalRows'] != 1 ) ? 's' : '' ?> in total.


Но нужно сделать на кириллице со словом "материал".
Крутил всяко, но видимо не в том направлении.

CODE (htmlphp):
скопировать код в буфер обмена
  1. $results['totalRows'] // это число выводится из БД.
 
 Top
caballero
Отправлено: 19 Декабря, 2013 - 22:14:36
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




что сделать?
куда слово надо вставить?

(Отредактировано автором: 19 Декабря, 2013 - 22:15:22)



-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
classic1698
Отправлено: 19 Декабря, 2013 - 22:24:05
Post Id


Новичок


Покинул форум
Сообщений всего: 51
Дата рег-ции: Дек. 2013  


Помог: 0 раз(а)




caballero пишет:
что сделать?
куда слово надо вставить?

ну это было бы идеально... Закатив глазки

пробовал так
CODE (htmlphp):
скопировать код в буфер обмена
  1. материал<?php echo ( ( $results['totalRows'] != 1 )  ? 'а' ? 'ов' : 'ала' : '' ) ?> всего.

выводит:
1 материал всего
но
2 материалов всего.

и ещё кучу вариантов, всё не то и видимо уже совсем не понимаю...
 
 Top
caballero
Отправлено: 19 Декабря, 2013 - 22:45:46
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




варианта вообще то всего три

если число заканчивается на 1 то материал
2,3,4 - материала
остальное - материалов


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
VestCoastman
Отправлено: 19 Декабря, 2013 - 22:48:25
Post Id



Посетитель


Покинул форум
Сообщений всего: 374
Дата рег-ции: Дек. 2010  


Помог: 3 раз(а)




PHP:
скопировать код в буфер обмена
  1. <?PHP $num = $results['totalRows']%10;
  2.  
  3. switch($num){
  4.    case 1: $end = ''; break;
  5.    case 2:
  6.    case 3:
  7.    case 4: $end = 'а'; break;
  8.    default: $end = 'ов'; break;
  9. }
  10.  
  11. ?>
  12.  
  13. материал<?=$end?>

(Отредактировано автором: 19 Декабря, 2013 - 22:49:04)

 
 Top
Ch_chov
Отправлено: 19 Декабря, 2013 - 22:59:57
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


Помог: 90 раз(а)




 
 Top
classic1698
Отправлено: 19 Декабря, 2013 - 23:06:43
Post Id


Новичок


Покинул форум
Сообщений всего: 51
Дата рег-ции: Дек. 2013  


Помог: 0 раз(а)




VestCoastman пишет:
PHP:
скопировать код в буфер обмена
  1. <?PHP $num = $results['totalRows']%10;
  2.  
  3. switch($num){
  4.    case 1: $end = ''; break;
  5.    case 2:
  6.    case 3:
  7.    case 4: $end = 'а'; break;
  8.    default: $end = 'ов'; break;
  9. }
  10.  
  11. ?>
  12.  
  13. материал<?=$end?>


Основных 3 варианта, но есть ещё и значение по умолчанию = 0 материалов, но оно как бы и третье значение. Тут я видимо и тупил. Спасибо.

(Отредактировано автором: 19 Декабря, 2013 - 23:16:28)

 
 Top
Саныч Модератор
Отправлено: 19 Декабря, 2013 - 23:16:27
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


Помог: 62 раз(а)




caballero пишет:
варианта вообще то всего три

если число заканчивается на 1 то материал
2,3,4 - материала
остальное - материалов
с поправкой на числа заканчивающиеся на 10 - 20


-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 Top
caballero
Отправлено: 19 Декабря, 2013 - 23:28:32
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




верно
тоже слегка тупанул


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Хранение данных, их вывод и обработка »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB