Есть вот такой вот скрипт голосования functions.php <?php function drawForm() // отображение формы для голосования { $r=mysql_query ("SELECT * FROM vote WHERE votes is NULL"); $row=mysql_fetch_array($r); echo "<p class=\"poles\">".$row['title']."</p>"; echo "<form style=\"margin-bottom: 0px;\" name='vote_form'>"; $r=mysql_query ("SELECT * FROM vote WHERE votes is not NULL"); $i = 1; while ($row=mysql_fetch_array($r)) echo "<input type='radio' class=\"radio_lol\" id=\"choice-++$i\" name='vote' value='{$row['id']}'> <label for=\"choice-++$i\"><span><span></span></span> {$row['title']}</label><br/>"; echo "<br/><input class=\"button_vote\" type='button' onclick='showContent(\"vote.php?select=\"+getRadioGroupValue(document.vote_form.vote));' value='Голосовать'>"; echo "</form>"; } function drawResults() // отображение результатов { $r=mysql_query ("SELECT * FROM vote WHERE votes is NULL"); $row=mysql_fetch_array($r); echo "<p class=\"poles\">".$row['title']."</p>"; $r=mysql_query ("SELECT * FROM vote WHERE votes is not NULL"); $query=mysql_query("SELECT SUM(votes) FROM vote"); $sum=mysql_result($query,0); while ($row=mysql_fetch_array($r)) echo "<div class=\"block_vote\"><span class=\"text_vote_left\">{$row['title']}</span> <span class=\"text_vote\">{$row['votes']}</span></div><br/>"; } ?> vote.php <?php include ("dbconnect.php"); include ("functions.php"); // установка cookie для избежания повторного голосования с одного браузера. setcookie ("codething_vote","1"); // добавление выбранного варианта $select = $_REQUEST['select']; mysql_query ("UPDATE vote SET votes = votes + 1 WHERE id = '$select'"); // отображение результатов drawResults(); ?> dbconnect.php <?php // название сервера БД define ("HOST", ""); // название базы данных define ("DATABASE", ""); // пользователь MySQL define ("MYSQL_USER", ""); // пароль к MYSQL define ("MYSQL_PASS", ""); // создаем базу данных и таблицу gb $link1=mysql_connect(HOST, MYSQL_USER, MYSQL_PASS) or die("Нет соединения с MySQL сервером!"); mysql_query ("CREATE DATABASE IF NOT EXISTS ".DATABASE) or die ("Не могу создать базу данных!"); mysql_select_db(DATABASE) or die("Нет содениения с требуемой базой данных!"); mysql_query ("CREATE TABLE IF NOT EXISTS vote (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, title VARCHAR (250), votes INT)") or die ("Не могу создать таблицу vote."); // если таблица пуста, заполним её начальными значениями $r=mysql_query ("SELECT * FROM vote"); if (mysql_num_rows($r)==0) { mysql_query ("INSERT INTO vote (title) VALUES ('Куда вы сегодня пойдете?')"); mysql_query ("INSERT INTO vote (title, votes) VALUES ('Никуда',0)"); mysql_query ("INSERT INTO vote (title, votes) VALUES ('В кино',0)"); mysql_query ("INSERT INTO vote (title, votes) VALUES ('В клуб',0)"); mysql_query ("INSERT INTO vote (title, votes) VALUES ('В магазин',0)"); mysql_query ("INSERT INTO vote (title, votes) VALUES ('В спортзал',0)"); mysql_query ("INSERT INTO vote (title, votes) VALUES ('Другое',0)"); } ?> showcontent.js function showContent(link) { var cont = document.getElementById('contentBody'); var loading = document.getElementById('loading'); cont.innerHTML = loading.innerHTML; var http = createRequestObject(); // создаем ajax-объект if( http ) { http.open('post', link); // инициируем загрузку страницы http.onreadystatechange = function () { // назначаем асинхронный обработчик события if(http.readyState == 4) { cont.innerHTML = http.responseText; // присваиваем содержимое } } http.send(null); } else { document.location = link; // если ajax-объект не удается создать, просто перенаправляем на адрес } } // создание ajax объекта function createRequestObject() { try { return new XMLHttpRequest() } catch(e) { try { return new ActiveXObject('Msxml2.XMLHTTP') } catch(e) { try { return new ActiveXObject('Microsoft.XMLHTTP') } catch(e) { return null; } } } } index.php <div id="contentBody"> <?php if ($_COOKIE['codething_vote']=='1') drawResults(); else drawForm(); ?> </div> <div id="loading" style="display: none"> Идет загрузка </div> Все работает, и очень даже не плохо, но есть одно но! Я хочу сделать отображение процентов возле каждого из ответов, можно сделать это следующим образом: брать число голосов у ответа, и делить на все число голосов у вопроса, после этого умножать на 100. Но вот как это сделать я не врубаюсь, новичок в php. Это делается в файле functions.php, а конкретнее в этой строке "{$row['votes']}", вот как записать это деление и умножение в echo я не знаю, помогите пожалуйста!
echo "{$row['title']}{$row['votes']}<br/>"; вот так у меня щас записано, я вот с этими скобками квадратными нифига не понимаю как сделать Добавлено спустя 1 минуту 33 секунды: то есть: сначала выводиться название ответа, а потом количество голосов у этого ответа
например у нас на сайте 256 пользователей зареганных, проголосовало из них лишь 39 значит: echo (39/256*100)." % голосовало."; Добавлено спустя 1 минуту 23 секунды: $row['votes'] - кол-во ответов так.. а где вопросы (переменка)?
это я понимаю, как написать не понимаю, посмотрите сам крипт, и поймете как он тупо работает я сделал вот так ({$row['votes']})/($sum)*(100) поясняю, {$row['votes']} - это количество голосов за данный ответ, $sum - это все число голосов всех ответов, получилось так: (5)/(6)*(100)
Код (Text): echo '<div class="block_vote"><span class="text_vote_left">'.$row['title'].'</span> <span class="text_vote">'.($row['votes']/$sum*100).'</span></div><br/>';
вы не понимаете, мне нужно не отношение проголосовавших ко всему числу людей на сайте, а число проголосовавших за один ответ (на пример их 1) ко всем ответам, всего их допустим 5, получается 1/5*100