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.SU

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


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

> Без описания
Andruxa
Отправлено: 26 Марта, 2018 - 23:09:56
Post Id



Частый гость


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


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




Всем привет!
Столкнулся с детским задание, на мой взгляд, но не получается его решить уже второй день.
Суть в следующем, в базе есть поле с количеством постов ( числовое значение)
мне нужно, в зависимости от того сколько постов вывести рейтинг пользователя, т.е заменить на картинку со звездочками.
Т.е если 10 постов - 1 звездочка;
от 10 до 20 постом - 2 звездочки и т.д.
Думал функцией перед выводом из базы заменить кол-во постов на картинку (текст)
PHP:
скопировать код в буфер обмена
  1. function raiting ($posts){
  2.     if ($post>0  or $post<10 ){
  3.         return "Звездочка 1";
  4.     }
  5.     elseif($post>10 or $post<30){
  6.         return "Звездочка 2";
  7.         }      
  8.     }


Но что то должного результата не получается достичь, подскажите, что я делаю не так ?
 
 Top
Строитель Модератор
Отправлено: 27 Марта, 2018 - 01:51:49
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


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




Andruxa пишет:
Т.е если 10 постов - 1 звездочка;
от 10 до 20 постом - 2 звездочки и т.д.
Спойлер (Отобразить)
 
 Top
Andruxa
Отправлено: 27 Марта, 2018 - 19:52:55
Post Id



Частый гость


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


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




Строитель Спасибо! Т.е Ваш вариант, повторяет знак "*" кол-во раз, которое подсчитывается в зависимости от кол-ва постов. Вроде все верно понимаю !?

Но Вопрос еще в том, почему условие записанное мной не работает ?
PHP:
скопировать код в буфер обмена
  1.     function raiting ($posts){
  2.         if ($post>0  or $post<10 ){
  3.             return "Звездочка 1";
  4.         }
  5.         elseif($post>10 or $post<30){
  6.             return "Звездочка 2";
  7.             }      
  8.         }

Вроде по логике все верно, если кол-во постов больше 0 и меньше 10, выводим 1 звездочку, а если больше 10 и меньше 30, выводим 2 звездочки. Почему данное условие не срабатывает !?

А есть ли еще варианты решения моего вопроса ?

(Отредактировано автором: 27 Марта, 2018 - 19:59:21)

 
 Top
Строитель Модератор
Отправлено: 27 Марта, 2018 - 20:00:03
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


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




Andruxa пишет:
Ваш вариант, повторяет знак "*" кол-во раз, которое подсчитывается в зависимости от кол-ва постов. Вроде все верно понимаю !?
Именно так.
Andruxa пишет:
Вопрос еще в том, почему условие записанное мной не работает ?
Потому что вы не внимательны - в сигнатуре переменная $posts, а в теле функции $post
 
 Top
Andruxa
Отправлено: 27 Марта, 2018 - 21:20:18
Post Id



Частый гость


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


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




Строитель пишет:
Потому что вы не внимательны - в сигнатуре переменная $posts, а в теле функции $post

Да, Вы правы, не доглядел, но после исправления, все рано не работает, выдает для всех постов один и тот же результат "Звездочка 1".
Вообще такое условие работоспособно!?
PHP:
скопировать код в буфер обмена
  1.  if ($posts>0  or $posts<10 ){
  2.             return "Звездочка 1";
  3.         }
 
 Top
Строитель Модератор
Отправлено: 27 Марта, 2018 - 21:37:37
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


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




Andruxa пишет:
Вообще такое условие работоспособно!?
Замените ИЛИ на И - будет работоспособно.
 
 Top
Andruxa
Отправлено: 27 Марта, 2018 - 22:16:51
Post Id



Частый гость


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


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




Все заработало, спасибо!
 
 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