Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Мое голосование, Длинна палки 
:(
    Опции темы
InfMag
Дата 9.4.2005, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


…
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 21.11.2004

Репутация: 1
Всего: 4



Люди, у меня есть свое голосование.
Код

$pr = ($marks5 * 100) / $max;

$pr - это будет длинна рисунка, который показывает уровень голосовавших за этот ответ.
Так все работает нормально, но если у меня $marks1 == 100 допустим, а остальные в районе 10-и, то палка $marks1 выходит за грань.
Что мне делать в такой ситуации?
PM   Вверх
Opik
Дата 9.4.2005, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 24
Всего: 55



длину делаешь в процентах?
Добавлено @ 19:57
возможно ты делаешь 100% и это получается весь экран.
задай ограничение, например, таблецей.
PM MAIL Skype   Вверх
Gold Dragon
Дата 10.4.2005, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



Переводи своё самое большое значение до определённой велечины, а остальные расчитывай от этой велицины

Пример. Вот конечные результаты

а = 53
б = 12
в = 100
г = 34

в_х --> 100 = 30px - основа
а_х --> 30рх / 100 * 53 = 15.9px
б_х --> 30рх / 100 * 12 = 3.6px
г_х --> 30рх / 100 * 34 = 10.2px




--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 10.4.2005, 10:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(Red @ 10.4.2005, 10:38)
15.9px

При этом не забывем про round(); smile
PM ICQ   Вверх
Gold Dragon
Дата 10.4.2005, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



Mal Hack
У тебя железная логика smile

А вообще-то я тестит... если забать width=323.8 или width=323,8 то браузер автоматом отрезает .8 и ,8


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
InfMag
Дата 10.4.2005, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


…
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 21.11.2004

Репутация: 1
Всего: 4



Я не понял в чем фишка.
Как мне максимум дорезать до 100 например, и как остальные подсчитывать?
PM   Вверх
Gold Dragon
Дата 10.4.2005, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



Не уже ли не понятно пояснил.... smile

Получаешь числа

Выбираешь максимальное. Это 100%.

Приводишь (как я уже показал) его к масимальному значению, т.е. 30 рх. всё остальное считаешь от этого.. То есть если у тебя будет результат 1млн, твоя полоска всё равно не будет больше 30 рх


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
InfMag
Дата 10.4.2005, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


…
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 21.11.2004

Репутация: 1
Всего: 4



Red Dragon
Изнини, но я запутался... Может подскажешь, что мне писать вместо этого: $pr = ($marks5 * 100) / $max;
PM   Вверх
Gold Dragon
Дата 11.4.2005, 07:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



InfMag
Ещё раз перечитываю и уже сам начинаю сомниваться в правильности своих сужденийsmile

В общем "на пальцах" или я не понял вопрос...

У тебя есть форма в которой выводится результат. У этой формы есть максимальная ширина, если величина будет больше, то рисунок будет выезжать за границу.
Код

// Допустим что максимальная ширина равна 100 рх
$w_max = 100;

// Допустим у тебя 7 пунктов ответа
$pr[1] = 12;
$pr[2] = 0;
$pr[3] = 43;
$pr[4] = 24;
$pr[5] = 87;
$pr[6] = 123;
$pr[7] = 39;

// Находим максимальное значение
$pr_max = max($pr);

// теперь проверяем, если максимальное значение больше максимальной ширины,
// то получаем коэфициент для уменьшения
if ($pr_max > $w_max){$k = $w_max / $pr_max;}

// получаем результат с коэфициентом
$pr[1] = round($pr[1] * $k);
$pr[2] = round($pr[2] * $k);
$pr[3] = round($pr[3] * $k);
$pr[4] = round($pr[4] * $k);
$pr[5] = round($pr[5] * $k);
$pr[6] = round($pr[6] * $k);
$pr[7] = round($pr[7] * $k);

// в итоге, у тебя больше нет значения больше $w_max




--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
InfMag
Дата 11.4.2005, 10:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


…
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 21.11.2004

Репутация: 1
Всего: 4



Red Dragon
А если $pr_max > $w_max, то переменной к не будет.
Мне приписывать заранее $k = 1;? smile
Добавлено @ 10:26
А все, понял... Вот что написал:
Код

// ...
    $wmax = 300;
    $maxs[0] = $marks5*100;
    $maxs[1] = $marks4*100;
    $maxs[2] = $marks3*100;
    $maxs[3] = $marks2*100;
    $maxs[4] = $marks1*100;
    $max = max($maxs);
    if ($max > $wmax) $k = $wmax / $max; else $k = 1;
?>
<table border=0 cellpadding=3 cellspacing=0 align=center style="font-size:14; font-weight: bold">
<tr>
<td align=right>Оценка 5</td>
<td><img src="<?php echo $lb ?>images/vote1/5.jpg" width=<?php echo round($maxs[0] * $k) ?> height=10 border=0><?php echo " ($marks5)" ?></td>
</tr>
<tr>
<td align=right>Оценка 4</td>
<td><img src="<?php echo $lb ?>images/vote1/4.jpg" width=<?php echo round($maxs[1] * $k) ?> height=10 border=0><?php echo " ($marks4)" ?></td>
</tr>
<tr>
<td align=right>Оценка 3</td>
<td><img src="<?php echo $lb ?>images/vote1/3.jpg" width=<?php echo round($maxs[2] * $k) ?> height=10 border=0><?php echo " ($marks3)" ?></td>
</tr>
<tr>
<td align=right>Оценка 2</td>
<td><img src="<?php echo $lb ?>images/vote1/2.jpg" width=<?php echo round($maxs[3] * $k) ?> height=10 border=0><?php echo " ($marks2)" ?></td>
</tr>
<tr>
<td align=right>Оценка 1</td>
<td><img src="<?php echo $lb ?>images/vote1/1.jpg" width=<?php echo round($maxs[4] * $k) ?> height=10 border=0><?php echo " ($marks1)" ?></td>
</tr>
</table>
<?php
// ...

Добавлено @ 10:27
Всем сенкс.
PM   Вверх
Gold Dragon
Дата 11.4.2005, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



Цитата(InfMag @ 11.4.2005, 10:19)
А если $pr_max > $w_max, то переменной к не будет.

Это я просто не написал smile само сабой нужно присвоить $k единицу


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0587 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.