Смена картинок в зависимости от активности
23.01.2013
KOT1254
Пользователи
Сообщений 33
подскажите пожалуйста на uco уровень вложения условных операторов ограничен. Вопрос: в профиле пользователь как сделать с помощью условных операторов. например пользователь добавил 10 новостей и выводится определённая картинка далее пользователь добавляет ещё 20 новостей чтоб вместо первой картинки выводилась уже другая а та исчезала. и ещё по умолчанию то есть у пользователь ноль активности так же чтоб стояла определенная картинка Код
<?if($_NEWS_ENTRIES$=0)?> <img src="/img/activ/0.png" title="активность $_USERNAME$'a"> <?else?> <?if($_NEWS_ENTRIES$<10)?> <img src="/img/activ/10.png" title="активность $_USERNAME$'a"> <?else?> <?if($_NEWS_ENTRIES$<20)?> <img src="/img/activ/20.png" title="активность $_USERNAME$'a"> <?else?> <?if($_NEWS_ENTRIES$<30)?> <img src="/img/activ/30.png" title="активность $_USERNAME$'a"> <?else?> <?if($_NEWS_ENTRIES$<40)?> <img src="/img/activ/40.png" title="активность $_USERNAME$'a"> <?else?> <?if($_NEWS_ENTRIES$<50)?> <img src="/img/activ/50.png" title="активность $_USERNAME$'a"> <?else?> <?if($_NEWS_ENTRIES$<60)?> <img src="/img/activ/60.png" title="активность $_USERNAME$'a"> <?else?> <?if($_NEWS_ENTRIES$<70)?> <img src="/img/activ/70.png" title="активность $_USERNAME$'a"> <?else?> <?if($_NEWS_ENTRIES$<80)?> <img src="/img/activ/80.png" title="активность $_USERNAME$'a"> <?else?> <?if($_NEWS_ENTRIES$<90)?> <img src="/img/activ/90.png" title="активность $_USERNAME$'a"> <?else?> <img src="/img/activ/100.png" title="активность $_USERNAME$'a"> <?endif?> <?endif?> <?endif?> <?endif?> <?endif?> <?endif?> <?endif?> <?endif?> <?endif?> <?endif?>
если больше 70 то остальные 80 90 100 уже не выводятся как это все сделать по другому?
23.01.2013
Вовчик
Администратор
Сообщений 8683
Код
<?if($_NEWS_ENTRIES$ = 0)?> <img src="/img/activ/0.png" title="активность $_USERNAME$'a"> <?else?> <?if($_NEWS_ENTRIES$ < 10)?> <img src="/img/activ/10.png" title="активность $_USERNAME$'a"> <?else?> <?if($_NEWS_ENTRIES$ > 10 && $_NEWS_ENTRIES$ < 20)?> <img src="/img/activ/20.png" title="активность $_USERNAME$'a"> <?else?> <?if($_NEWS_ENTRIES$ > 20 && $_NEWS_ENTRIES$ < 30)?> <img src="/img/activ/30.png" title="активность $_USERNAME$'a"> <?else?> <?if($_NEWS_ENTRIES$ > 30 && $_NEWS_ENTRIES$ < 40)?> <img src="/img/activ/40.png" title="активность $_USERNAME$'a"> <?else?> <?if($_NEWS_ENTRIES$ > 40 && $_NEWS_ENTRIES$ < 50)?> <img src="/img/activ/50.png" title="активность $_USERNAME$'a"> <?else?> <?if($_NEWS_ENTRIES$ > 50 && $_NEWS_ENTRIES$ < 60)?> <img src="/img/activ/60.png" title="активность $_USERNAME$'a"> <?else?> <?if($_NEWS_ENTRIES$ > 60 && $_NEWS_ENTRIES$ < 70)?> <img src="/img/activ/70.png" title="активность $_USERNAME$'a"> <?else?> <?if($_NEWS_ENTRIES$ > 70 && $_NEWS_ENTRIES$ < 80)?> <img src="/img/activ/80.png" title="активность $_USERNAME$'a"> <?else?> <?if($_NEWS_ENTRIES$ > 80 && $_NEWS_ENTRIES$ < 90)?> <img src="/img/activ/90.png" title="активность $_USERNAME$'a"> <?else?> <img src="/img/activ/100.png" title="активность $_USERNAME$'a"> <?endif?> <?endif?> <?endif?> <?endif?> <?endif?> <?endif?> <?endif?> <?endif?> <?endif?> <?endif?>
подпись: Если я помог тебе, помоги и ты мне Мой WMR --> R250600748056
p.s. это лучшее выражение благодарности))
23.01.2013
KOT1254
Пользователи
Сообщений 33
Вовчик , тоже самое не выводит если больше 70 то остальные 80 90 100
23.01.2013
Fatal1ti
Проверенные
Сообщений 101
Код
<img src="/img/activ/<?(int($_NEWS_ENTRIES$*0.1)*10)?>.png" title="активность $_USERNAME$'a">
Ну вроде так можно реализовать.. Объяснять не охото.. Если очень надо то могу расписать что и как - токо отпишись Если помог ставь плюс))
подпись: fatal1ti.ru
23.01.2013
KOT1254
Пользователи
Сообщений 33
Fatal1ti , да если можно пожалуйста расписатьДобавлено (23.01.2013, 15:59) ---------------------------------------------Fatal1ti , хотя бы пару строк для подробности
23.01.2013
Fatal1ti
Проверенные
Сообщений 101
Код
<?(int($_NEWS_ENTRIES$*0.1)*10)?>
Вот этот код я писал ровно 10 секунд.. В нём соединены несколько функций: <?($_NEWS_ENTRIES$*0.1)?> - умножаем количество новостей на 0.1 и получаем например из 9, вот такое 0.9 Так как 9 меньше 10 то нам нужна картинка 10.png (Что как раз я и забыл) Блин... так что код чуть нужно поправить... Вот так: Код
<?(int(($_NEWS_ENTRIES$+9)*0.1)*10)?>
Ну вроде всё, начну расписывать заново: <?(($_NEWS_ENTRIES$+9)*0.1)?> - в этом случае если у данного профиля 0 новостей, то 0+9 = 9 Умножаем 9 на 0.1 получаем 0.9 <?int(ТУТ_ЧИСЛО_9)?> - int округляем число 0.9 в сторону нуля, получается ноль Ноль умножаем на 10, получаем ноль (думаю это все знают) Ноль это название картинка - всё на этом всё ясно ---------------------------------------- Теперь если у профиля 2 новости, то будет так: 2+9 = 11 Умножаем на 0.1 получаем 1.1 Округляем получаем 1 Умножаем 1 на 10, получаем 10 - название картинки И так далее ----- А соединять функции очень просто, можно разобраться если внимательно посмотреть из каких частей состоит и что получилось Удачи..Добавлено (23.01.2013, 16:28) --------------------------------------------- Ммм.. ещё тут есть небольшой нюанс.. Если у пользователя 10 новостей, то нужно какую картинку ему? 10.png или 20.png Если 10 то этот код:
Код
<?(int(($_NEWS_ENTRIES$+9)*0.1)*10)?>
А если 20 то этот: Код
<?if($_NEWS_ENTRIES$=0)?> 0 <?else?> <?(int(($_NEWS_ENTRIES$+10)*0.1)*10)?> <?endif?>
подпись: fatal1ti.ru
23.01.2013
KOT1254
Пользователи
Сообщений 33
Fatal1ti , а от этого разве уменьшится количество уо ?
23.01.2013
Fatal1ti
Проверенные
Сообщений 101
KOT1254 , всмысле? Вот вместо твоего самого первого кода, тебе нужно лишь такой код: Код
<img src="/img/activ/<?(int(($_NEWS_ENTRIES$+9)*0.1)*10)?>.png" title="активность $_USERNAME$'a">
Условных операторов тут по сути нет.. Тут только математика)
подпись: fatal1ti.ru
23.01.2013
23.01.2013
Fatal1ti
Проверенные
Сообщений 101
KOT1254 , да как так? просто возьми код и проверь его. Если работает то потом уже разбирайся что да как тут..
подпись: fatal1ti.ru
23.01.2013
23.01.2013
KOT1254
Пользователи
Сообщений 33
Fatal1ti , спс завтра ото еще на работу идти а голова уже не варит Добавлено (23.01.2013, 17:43) --------------------------------------------- вот что получается
вот код Код
<img src="/img/activ/<?(int(($_NEWS_ENTRIES$+9)*0.1)*0)?>.png" title="активность $_USERNAME$'a"> <img src="/img/activ/<?(int(($_NEWS_ENTRIES$+2)*1.1)*10)?>.png" title="активность $_USERNAME$'a">
вторая не закрывается короче ничего не выходитДобавлено (23.01.2013, 17:46) --------------------------------------------- пищу одну картинку название 10 а выходит другая 20
Добавлено (23.01.2013, 17:48) --------------------------------------------- у меня в профиле вобще вот что
23.01.2013
Вовчик
Администратор
Сообщений 8683
вот протестировал
Код
<?if($_NEWS_ENTRIES$ = 0)?> <img src="http://s39.ucoz.net/sm/17/smile.gif" title="активность $_USERNAME$'a"> <?else?> <?if($_NEWS_ENTRIES$ <= 10)?> <img src="http://s39.ucoz.net/sm/17/smile.gif" title="активность $_USERNAME$'a"> <?else?> <?if($_NEWS_ENTRIES$ > 10 && $_NEWS_ENTRIES$ <= 20)?> <img src="http://s39.ucoz.net/sm/17/smile.gif" title="активность $_USERNAME$'a"> <?else?> <?if($_NEWS_ENTRIES$ > 20 && $_NEWS_ENTRIES$ <= 30)?> <img src="http://s39.ucoz.net/sm/17/smile.gif" title="активность $_USERNAME$'a"> <?else?> <?if($_NEWS_ENTRIES$ > 30 && $_NEWS_ENTRIES$ <= 40)?> <img src="http://s39.ucoz.net/sm/17/smile.gif" title="активность $_USERNAME$'a"> <?else?> <?if($_NEWS_ENTRIES$ > 40 && $_NEWS_ENTRIES$ <= 50)?> <img src="http://s39.ucoz.net/sm/17/smile.gif" title="активность $_USERNAME$'a"> <?else?> <?if($_NEWS_ENTRIES$ > 50 && $_NEWS_ENTRIES$ <= 60)?> <img src="http://s39.ucoz.net/sm/17/smile.gif" title="активность $_USERNAME$'a"> <?else?> <?if($_NEWS_ENTRIES$ > 60 && $_NEWS_ENTRIES$ <= 70)?> <img src="http://s39.ucoz.net/sm/17/smile.gif" title="активность $_USERNAME$'a"> <?else?> <?if($_NEWS_ENTRIES$ > 70 && $_NEWS_ENTRIES$ <= 80)?> <img src="http://s39.ucoz.net/sm/17/smile.gif" title="активность $_USERNAME$'a"> <?else?> <?if($_NEWS_ENTRIES$ > 80 && $_NEWS_ENTRIES$ <= 90)?> <img src="http://s39.ucoz.net/sm/17/smile.gif" title="активность $_USERNAME$'a"> <?else?> <img src="http://s39.ucoz.net/sm/17/smile.gif" title="активность $_USERNAME$'a"> <?endif?> <?endif?> <?endif?> <?endif?> <?endif?> <?endif?> <?endif?> <?endif?> <?endif?> <?endif?>
работает только до 80 дальше не идет, наверно больше нельзя... никогда не слышал, что есть ограничения...
подпись: Если я помог тебе, помоги и ты мне Мой WMR --> R250600748056
p.s. это лучшее выражение благодарности))
23.01.2013
Вовчик
Администратор
Сообщений 8683
ну тогда вот так, проверил работает до ста, тебе осталось только поменять картинки на свои, а то я тестировал на другой картинке)) Код
<?if($_NEWS_ENTRIES$ = 0)?><img src="http://s39.ucoz.net/sm/17/smile.gif" title="активность $_USERNAME$'a"><?else?><?endif?> <?if($_NEWS_ENTRIES$ <= 10)?><img src="http://s39.ucoz.net/sm/17/smile.gif" title="активность $_USERNAME$'a"><?else?><?endif?> <?if($_NEWS_ENTRIES$ > 10 && $_NEWS_ENTRIES$ <= 20)?><img src="http://s39.ucoz.net/sm/17/smile.gif" title="активность $_USERNAME$'a"><?else?><?endif?> <?if($_NEWS_ENTRIES$ > 20 && $_NEWS_ENTRIES$ <= 30)?><img src="http://s39.ucoz.net/sm/17/smile.gif" title="активность $_USERNAME$'a"><?else?><?endif?> <?if($_NEWS_ENTRIES$ > 30 && $_NEWS_ENTRIES$ <= 40)?><img src="http://s39.ucoz.net/sm/17/smile.gif" title="активность $_USERNAME$'a"><?else?><?endif?> <?if($_NEWS_ENTRIES$ > 40 && $_NEWS_ENTRIES$ <= 50)?><img src="http://s39.ucoz.net/sm/17/smile.gif" title="активность $_USERNAME$'a"><?else?><?endif?> <?if($_NEWS_ENTRIES$ > 50 && $_NEWS_ENTRIES$ <= 60)?><img src="http://s39.ucoz.net/sm/17/smile.gif" title="активность $_USERNAME$'a"><?else?><?endif?> <?if($_NEWS_ENTRIES$ > 60 && $_NEWS_ENTRIES$ <= 70)?><img src="http://s39.ucoz.net/sm/17/smile.gif" title="активность $_USERNAME$'a"><?else?><?endif?> <?if($_NEWS_ENTRIES$ > 70 && $_NEWS_ENTRIES$ <= 80)?><img src="http://s39.ucoz.net/sm/17/smile.gif" title="активность $_USERNAME$'a"><?else?><?endif?> <?if($_NEWS_ENTRIES$ > 80 && $_NEWS_ENTRIES$ <= 90)?><img src="http://s39.ucoz.net/sm/17/smile.gif" title="активность $_USERNAME$'a"><?else?><?endif?> <?if($_NEWS_ENTRIES$ > 90 && $_NEWS_ENTRIES$ <= 100)?><img src="http://s39.ucoz.net/sm/17/smile.gif" title="активность $_USERNAME$'a"><?else?><?endif?>
подпись: Если я помог тебе, помоги и ты мне Мой WMR --> R250600748056
p.s. это лучшее выражение благодарности))
24.01.2013
Fatal1ti
Проверенные
Сообщений 101
KOT1254 , лучше используй вариант Вовчика, а то ты меня не понял.. Хоть код побольше, но с кодом Вовчика я думаю ты точно разберешься А вот то что ты с моим кодом сделал, вообще за рамками... Код
<img src="/img/activ/<?(int(($_NEWS_ENTRIES$+9)*0.1)*0)?>.png" title="активность $_USERNAME$'a"> <img src="/img/activ/<?(int(($_NEWS_ENTRIES$+2)*1.1)*10)?>.png" title="активность $_USERNAME$'a">
Нужно было всего лишь вот одну строчку вставить: Цитата
<img src="/img/activ/<?if($_NEWS_ENTRIES$=0)?>0<?else?><?(int(($_NEWS_ENTRIES$+10)*0.1)*10)?><?endif?>.png" title="активность $_USERNAME$'a">
подпись: fatal1ti.ru