Защо бара на анкетата не се удължава ?

topchokt

Registered
Здравейте ,
реших тук да пусна темата защото не можех да преценя дали е за php , mysql форума . Виж тук , в дясната колона съм сложил анкета но защо барчето след като гласуваш не се удължава , смисъл колкото повече гласа има за даден отговор , толкова по-голямо да е то . Гласувайте с "Все ми е тая ! " , защото до сега има 5 избрали него да видим дали ще се удължи .

Едит:
Само да спомена че когато анкетата не е вкарана в дизайна , този проблем го няма .
 
misho каза:
Само аз ли не намирам бутон за гласуване?

Сега го оправих , таман се мъчих да го оправя този проблем с бара , но нещо не се получи :cry:
 
misho каза:
Дай малко код, че така само мога да гадая. :)
Значи , ето кода който изкарва анкетата в сайта :)
Код:
	<?php
include('anketaconf.php'); // Инклудваме конфиг файла
$ip= getenv("REMOTE_ADDR"); //Взимаме ИП адреса на потребителя
$sql="SELECT * FROM vaprosi ORDER BY v_id DESC LIMIT 0 , 1"; //Селектираме последния записан въпрос в БД
$rez=mysql_query($sql,$link);
$red=mysql_fetch_array($rez);
$vapros=$red['vapros'];//Това е променливата с въпроса
$v_id=$red['v_id']; //Това е променливата с ИД номера на въпроса

$sql1="SELECT * FROM ip WHERE `uip` LIKE '$ip' AND `v_id` LIKE '$v_id' ";//Селектираме от таблицата с ИП адреси дали има записан ИП адреса на потребителя и ИД на въпроса , т.е. дали е гласувал вече.
$rez1=mysql_query($sql1,$link);
$chekip=mysql_num_rows($rez1); //Ако даден потребител е гласувал ще върне резултат по голям от 0 в противен случаи ще върне 0

$sql1="SELECT * FROM ip WHERE `v_id` LIKE '$v_id'";
$rez1=mysql_query($sql1,$link);
$broiip=mysql_num_rows($rez1); //Взимаме броя на общо гласувалите в анкетата като селектираме ИП адресите които са записани за даден въпрос

echo $vapros."<br /><br />"; //Принтираме Въпроса


//Проверяваме дали потребителя е гласувал ако не е изписваме формата за гласуване
if($chekip==0){


$sql="SELECT * FROM otgovori WHERE v_id LIKE '$v_id'";//Селектираме всички отговори със ИД($v_id) на въпроса.
$rez=mysql_query($sql,$link);


echo"<form action="sendvote.php" method="POST" >";

//С цикала while принтираме отговорите
while($red=mysql_fetch_array($rez)){
//С радио бутона изпращаме $о_id ( ид на въпроса) към формата такаче да бъде променено точно това поле от БД.
echo "<li>";
echo $red['otgovor']."<input type="radio" name="vote" value="".$red['o_id']."" /><br />";
}
echo "</li>";
echo"<input type="submit" value="Гласувай" /></form>";
echo "<li>Предложи анкета</li>";
}


//Тази част от кода се изпалнява ако потребителя вече е гласувал т.е. акo $chekip получи стоиност по голяма от 0
else{
//Селектираме отговорите от таблица отговори за съответния въпрос
$sql="SELECT * FROM otgovori WHERE v_id LIKE '$v_id'";
$rez=mysql_query($sql,$link);

//Отново с цикъл ги принтираме
while($red=mysql_fetch_array($rez)){

echo $red['otgovor']." ".$red['rezultat']." ";
$procent=$red['rezultat']*(100/$broiip) ;//Пресмятаме ги в проценти

echo "<li><img src="bar_left.gif" alt="" border"0" /><img src="vote.gif" style="width:$procent; height:9px" alt="" border"0" /><img src="bar_right.gif" alt="" border"0" /></li>";
}

}

mysql_close($link);
?>
 
Правиш си една променлива width, която ще отговаря на дължината. С нея пресмяташ, да кажем процентите по 10.
Код:
$width=$променливата с процентите * 2;
echo "<img src='пътят' width='".$width."' height='20px' />";
Промени си височината на картинката.
 
Dizasterr каза:
Правиш си една променлива width, която ще отговаря на дължината. С нея пресмяташ, да кажем процентите по 10.
Код:
$width=$променливата с процентите * 2;
echo "<img src='пътят' width='".$width."' height='20px' />";
Промени си височината на картинката.
Нещо не мога да схвана , ако може да го направиш .
 
$procent се получава число с плаваща запетая, което може би създава проблеми. Друго не забелязвам. Пробвай да вмъкнеш този ред веднага, след акто сметнеш процентите, за да закръглиш числото:

Код:
$procent - (int)$procent;


Dizasterr каза:
Правиш си една променлива width, която ще отговаря на дължината. С нея пресмяташ, да кажем процентите по 10.
Код:
$width=$променливата с процентите * 2;
echo "<img src='пътят' width='".$width."' height='20px' />";
Промени си височината на картинката.
Той вече има такава и си ги смята правилно процентите.
 
Не се получава :) И това с бара става когато анкетата е вмъкната в самата страница с дизайна и др. код . Когато е само кода на анкетата проблем няма - http://hiphop-bg.com/anketa.php
 
На страницата, която даваш го има същия проблем. Объркал съм кода долу. Не трябва да е минус, а равно. :D
Код:
$procent = (int)$procent;
 
misho каза:
На страницата, която даваш го има същия проблем. Объркал съм кода долу. Не трябва да е минус, а равно. :D
Код:
$procent = (int)$procent;
Не става . Не , няма го този проблем в онзи файл , виж сега . /Мъчих се и за това така се е получило /
 
Dizasterr каза:
За да се закръгли до цяло число се използва ceil.
Всъщност round е по-добре в този случай, тъй като ceil винаги закръгля към по-голямата стойност.
 
Dizasterr каза:
За да се закръгли до цяло число се използва ceil.
Това закръгля винаги към по-голямо и не е подходящо.

DeathGuard_ каза:
Dizasterr каза:
За да се закръгли до цяло число се използва ceil.
Всъщност round е по-добре в този случай, тъй като ceil винаги закръгля към по-голямата стойност.
int не прави ли същото?


topchokt каза:
Оправих се с помощта на Алекс .
И какъв беше проблема?
 
misho каза:
Dizasterr каза:
За да се закръгли до цяло число се използва ceil.
Това закръгля винаги към по-голямо и не е подходящо.

DeathGuard_ каза:
Dizasterr каза:
За да се закръгли до цяло число се използва ceil.
Всъщност round е по-добре в този случай, тъй като ceil винаги закръгля към по-голямата стойност.
int не прави ли същото?


topchokt каза:
Оправих се с помощта на Алекс .
И какъв беше проблема?
Да, и int би свършил същата работа.
 
И какъв беше проблема?

Това тук
Код:
echo "<li><img src=\"bar_left.gif\" alt=\"\" border\"0\" /><img src=\"vote.gif\" style=\"width:$procent; height:9px\" alt=\"\" border\"0\" /><img src=\"bar_right.gif\" alt=\"\" border\"0\" /></li>";
Го заместих с :
Код:
echo "<li><img src='bar_left.gif'  border='0' /><img src='vote.gif' width='$procent' height='9px' border'0' /><img src='bar_right.gif' border='0' /></li>";
}
 

Back
Горе