Помогите пожалуйста с голосованием!!

selene

Новичок
Помогите пожалуйста с голосованием!!

мне нужно было сделать голосование самое простое. "какие эмоции вы испытываете: положительные, отрицательные" с выводом в конце графическим, то есть две полоски цветные соответствующие процентам. для этого я сделала 2 файл "golos.php"и "img.php" в golos написала обработку данных при нажатии кнопки голосовать а в img саму картинку которая должна выводится. вот кусочек кода из этого файла:
PHP:
$otstup=35;
// $otstup - задает отступ, в прелелах которого
// в картинку впишем процентное значение
$string=$pr."%";
// $string - содержит значение процентов плюс знак процента
$im=imageCreate($pr*2+$otstup,15);
// Здесь создаем идентификатор, при помощи
// которого мы будем работать с картинкой
$fon=imageColorAllocate($im,255,204,204);
$fon1=imageColorAllocate($im,255,204,204);
// Задаем цвет фона
$col_b=imageColorAllocate($im,0,0,0);
// Задаем цвет обводки
$shrift=imageColorAllocate($im,255,255,255);
// Цвет вывода процентного значения
imageFill($im,2,2,$fon);
// Заполнили наш прямоугольник основным фоном
только мне нужно чтобы на выходе был не просто фон одного цвета а картинка. у меня их соответственно две: good.jpg и bad.jpg нужно чтобы они сокращались как и этот фон в зависимости от количества процентов.
Помогите пожалуйста! если нужно я выставлю остальной код. спасите пожалуста:(
 

Фанат

oncle terrible
Команда форума
Непонятно, при чем тут голосование.
Голосование работает? Итоговые ЦИФРЫ пишет? Если не пишет, то при чем тут картинка?
Если пишет, то при чем тут голосование ,если задача - вывести картинку по определенным координатам?

если у тебя гуд и бэд уже есть, то выводи их нужного размера средствами HTML и не парься с GD
 

selene

Новичок
голосование работает отлично. мне просто надо чтобы было вот так:

ваши эмоции:
положительные(17) : 77% "поле с картинкой good.jpg"
отрицательные(5): 23% "поле с картинкой bad.jpg"

а если взять целое поле за 100% то картинка "гуд" должна выводится на 77% , а если там ещё ктото проголосует то на 78% и так далее. а чтобы было видно какая часть картинки открылась под ней бэкграундом должна лежать полупрозрачная её точная копия. она у меня тоже есть называется "good2.jpg"
как это сделать при помощи штмл я не представляю, мне кажется что это всё таки пшп ведь даже обычный фон чтоб вывести я пшп использую
 

Фанат

oncle terrible
Команда форума
В HTML у тега img есть параметр width. Означает ширину картинки.
 

selene

Новичок
эммм...и что? мне не надо чтобы картинка сжималась...мне надо чтобы открывалась её часть. если 100% то картинка вся открыта целая. а если 10% то открыто только 10% картинки. она какбы обрезана.

-~{}~ 04.02.08 10:01:

как здесь прикрепить картинку? я бы показала что имею ввиду
 

Фанат

oncle terrible
Команда форума
Это сложнее, yо тоже проще делать без GD, средствами верстки, на мой взгляд.
Если же все-таки с помощью GD, то непонятно, к чему все эти Allocate-Deallocate. Надо вырезать картинку - используем imagecopy
 

selene

Новичок
эмм...и оно будет двигаться когда процентное соотношение поменяется? когда кто нибудь проголосует ещё.
 

selene

Новичок
извините но я вас не поняла. я пишу обычное голосование. с главной странички сайта вопрос: какие у вас эмоции. вот и всё. голосование работает.с этим проблем нет. просто мне нужно для наглядности чтобы был график процентный сколько человек и как проголосовало. а так как это эмоции мне нужно чтобы графиком выступало 2 картинки грубо говоря солнце и тучки. вот и всё. я просто спросила как это можно осуществить...
 

kruglov

Новичок
selene
Мне показалось, что человек сидит перед сайтом, другие голосуют, а у него полоски сами ползут.

Если обычное голосование - нажал, увидел, ушел - то уже в топике все что можно насоветовали.
 

selene

Новичок
правда? я видимо чего то не вижу...что мне нужно вставить в свой код чтобы получился результат который я хочу, подскажите пожалуйста.
 

Фанат

oncle terrible
Команда форума
selene
Вообще-то, на картинке нарисовано совсем не то, что написано в вопросе.
У тебя написано, что картинка должна сокращаться.
А на картинке картинка остается той же самой, а на ней смещается зона контрастности.

Какую задачу будем решать?
 

selene

Новичок
мм...я к сожалению не очень точно выразилась в первоначальном вопросе...я прошу прощения. мне нужно чтобы было как на картинке. помогите пожалуйста.
я не думала о том что это можно использовать как контрасность. я изначально предпологала что это снизу какбы фон для <td>
но идея с контрасностью помоему должна работать. только я не знаю как это осуществить...поможете?
 

Фанат

oncle terrible
Команда форума
Идея с фоном тоже будет работать.
Думаю, стоит присмотреться к коду kruglov
 

selene

Новичок
дак а куда его вставить то?
у меня есть два файла "golos.php" "img.php" в голосе считаются проценты и голоса...следовательно картинка должна быть в имг, так?
вот код img:
PHP:
<?
$otstup=35;
// $otstup - задает отступ, в прелелах которого
// в картинку впишем процентное значение
$string=$pr."%";
// $string - содержит значение процентов плюс знак процента
$im=imageCreate($pr*2+$otstup,15);
// Здесь создаем идентификатор, при помощи
// которого мы будем работать с картинкой
$fon=imageColorAllocate($im,255,204,204);
$fon1=imageColorAllocate($im,255,204,204);
// Задаем цвет фона
$col_b=imageColorAllocate($im,0,0,0);
// Задаем цвет обводки
$shrift=imageColorAllocate($im,255,255,255);
// Цвет вывода процентного значения
imageFill($im,2,2,$fon);
// Заполнили наш прямоугольник основным фоном
$x1=0;$x2=$pr*2+$otstup-1;
$y1=0;$y2=14;
// Формирование улов для обводки контуром
imageLine($im,$x1,$y1,$x2,$y1,$col_b);
imageLine($im,$x2,$y1,$x2,$y2,$col_b);
imageLine($im,$x2,$y2,$x1,$y2,$col_b);
imageLine($im,$x1,$y1,$x1,$y2,$col_b);
imageLine($im,$x1+$otstup,$y1,$x1+$otstup,$y2,$col_b);
// Создание контура и разделяющей полосы
if($pr!=0) imageFill($im,$otstup+1,2,$fon1);
// Если значение процента не равно 0, то заполняем
// правую часть цветом $fon1
imageString($im,3,5,1,$string,$shrift);
// Пишем в правую часть картинки процентное значение
header("Content-type: image/png");
imagePng($im);
imageDestroy($im);
// Здесь производим вывод полученной картинки в
// стандартный поток вывода и уничтожаем идентификатор
?>
и куда здесь вставлять? и за место чего?

вывод на экран выглядит так: (он находится в файле golos)
<p class="cls_1" align="center">Ваши эмоции:</p>
<table border=0 align=center>
<tr><td>
<p class="cls_1">Положительные(<?echo $file[1];?>):</p></td>
<td><img src="img.php?pr=<?echo $pr[1];?>" height=15></td></tr>
<tr><td>
<p class="cls_1">Отрицательные(<?echo $file[2];?>):</p></td>
<td><img src="img.php?pr=<?echo $pr[2];?>" height=15></td></tr>
</table>
<table border=0 align=center>
<tr><td align=center><p class="cls_1">Всего проголосовало:</p></td></tr>
<tr><td align=center><?echo $n." человек";?></td></tr></table>

вот так вот.
 

Фанат

oncle terrible
Команда форума
О господи. да не нужен тебе никакой img.php
Все делается средствами HTML.

тебе нужно 4 картинки.
контрастная для хорошего, бледная для хорошего, контрастная для нехорошего и бледная для нехорошего.
они у тебя есть?

-~{}~ 04.02.08 12:13:

Кстати, если считается только два параметра, то нагляднее всего будет одна картинка, солнце/тучи.
 

selene

Новичок
да я тоже думала что классно будет когда только одна полоска. типо солнце борется с тучами)))) но я правда не знаю как это сделать...

картинки у меня есть: good bad (контрасные) gоod2 bad2(бледные)
 

Фанат

oncle terrible
Команда форума
Точно так же, как с двумя полосками Точно так же.
Там ты хочешь наложить контрастную на бледную, а здесь - одну контрастную на другую.

Скажи, а вас там, на хостфабрике, HTML-у не учат?
 
Сверху