Jump to content

DivMan

User
  • Posts

    1,734
  • Joined

  • Last visited

  • Days Won

    20

Everything posted by DivMan

  1. А зачем проверять ширину с помощью js? на это же есть медиазапросы
  2. Чем бы ты хотел заниматься, если бы не было бы денег?
  3. ты сначала сделай с обычными стрелками
  4. Протестируйте пожалуйста http://dkakharov.000webhostapp.com/ Иногда будет выдавать результат на +/- 1 процент от ста. Вот весь код db.php <?php error_reporting(E_ALL); $host = 'localhost'; $user = 'root'; $password = ''; $db_name = 'quiz'; $link = mysqli_connect($host, $user, $password, $db_name) or die(mysqli_error($link)); mysqli_query($link, "SET NAMES 'utf8'"); ?> index.php <?php require_once ('db.php'); $sql = "SELECT * FROM question"; $query = mysqli_query($link, $sql) or die(mysqli_error($link)); for ($res = []; $row = mysqli_fetch_assoc($query); $res[] = $row); echo '<pre>'; //print_r($res); echo '</pre>'; ?> <!DOCTYPE html> <html> <head> <title>Опрос</title> <meta charset="utf-8"> <link rel="stylesheet" href="style.css"> </head> <body> <div class="main"> <h1>Опрос</h1> <p class="result">Укажите Ваш возраст:</p> <form action="" method="get"> <?php foreach($res as $key) { echo '<p style="font-weight: bold;"><label><input type="radio" name="age" value="'.$key['variant'].'">'.$key['titile'].'</label></p>'; } ?> <input type="submit" class="btn-answer"> </form> <?php if(!empty($_GET['age'])) { $needAnswer = "SELECT * FROM answer WHERE question_id =" . $_GET['age']; $resultNeedAnswer = mysqli_query($link, $needAnswer) or die(mysqli_error($link)); $result = mysqli_fetch_assoc($resultNeedAnswer); $oldCount = $result['count_answer']; $newCount = $oldCount + 1; echo '<pre>'; //print_r($result); echo '</pre>'; $sqlUpdate = "UPDATE answer SET count_answer = '".$newCount."' WHERE question_id = " . $_GET['age']; mysqli_query($link, $sqlUpdate) or die(mysqli_error($link)); $allAnswer = "SELECT * FROM answer"; $resultAllAnswer = mysqli_query($link, $allAnswer) or die(mysqli_error($link)); for ($resAllAnswer = []; $rowAllAnswer = mysqli_fetch_assoc($resultAllAnswer); $resAllAnswer[] = $rowAllAnswer); echo '<pre>'; //print_r($resAllAnswer); echo '</pre>'; $allPeople = 0; foreach($resAllAnswer as $k) { $allPeople = $allPeople + $k['count_answer']; } $onePercent = $allPeople/100; //для погрешности $oneItem = round($resAllAnswer[0]['count_answer'] / $onePercent); $two = round($resAllAnswer[1]['count_answer'] / $onePercent); $three = round($resAllAnswer[2]['count_answer'] / $onePercent); echo '<p>Результат опроса</p>'; echo '<div class="result"> <p>Общее количество опрошенных: <span class="bold">'.$allPeople.'</span><p> <ol> <li>. Ответили "'.$res[0]['titile'].'": <span class="bold">'.$resAllAnswer[0]['count_answer'].'</span> человек, <span class="bold">'.$oneItem.'%</span> опрошенных</li> <li>. Ответили "'.$res[1]['titile'].'": <span class="bold">'.$resAllAnswer[1]['count_answer'].'</span> человек, <span class="bold">'.$two.'%</span> опрошенных</li> <li>. Ответили "'.$res[2]['titile'].'": <span class="bold">'.$resAllAnswer[2]['count_answer'].'</span> человек, <span class="bold">'.$three.'%</span> опрошенных</li> </ol> </div>'; echo '<br><br>'; $left1 = ($oneItem / 2) - 2; $left2 = ($two / 2) - 2; $left3 = ($three / 2) - 2; echo '<div> <p style="font-weight: bold;">Ответ "'.$res[0]['titile'].'"</p> <p class="gradient" style="position: relative; background: linear-gradient(to right, #1e5799 '.$oneItem.'%, #f5f5f5 '.$oneItem.'%);"><span style="position: absolute; top: 0; left:'.$left1.'%; color: white;">'.$oneItem.'%</span></p> </div>'; echo '<div> <p style="font-weight: bold;">Ответ "'.$res[1]['titile'].'"</p> <p class="gradient" style="position: relative; background: linear-gradient(to right, #1e5799 '.$two.'%, #f5f5f5 '.$two.'%);"><span style="position: absolute; top: 0; left:'.$left2.'%; color: white;">'.$two.'%</span></p> </div>'; echo '<div> <p style="font-weight: bold;">Ответ "'.$res[2]['titile'].'"</p> <p class="gradient" style="position: relative; background: linear-gradient(to right, #1e5799 '.$three.'%, #f5f5f5 '.$three.'%);"><span style="position: absolute; top: 0; left:'.$left3.'%; color: white;">'.$three.'%</span></p> </div>'; } /* 1. 130 человек = 100% 2. 130/100=1,3 (один процент) 3. 60/1,3 = 46% за первый пункт 4. 30/1,3 = 23% за второй пункт 5. 40/1,3 = 31% за третий пункт. 1. 34 человека = 100% 2. 34/100 = 0.34 3. 3/0.34 = 0 4. 2/0.34 = 100 5. 0/0.34 = 0 */ ?> </div> </body> </html> style.css .main { width: 620px; margin: 0 auto; padding: 10px; } ol { counter-reset: myCounter; padding: 0; } li { list-style: none; } li:before { counter-increment: myCounter; content:counter(myCounter); color: #31708f; font-weight: bold; } .result { background: #d9edf7; border-radius: 5px; padding: 15px; color: #31708f; } .btn-answer { color: white; background: #398439; border-radius: 5px; width: 100%; border: 1px solid #255625; padding: 6px 12px; } .bold { font-weight: bold; } .gradient { width: 100%; height: 20px; background: #337AB7; border-radius: 5px; box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); } база -- phpMyAdmin SQL Dump -- version 4.6.5.2 -- https://www.phpmyadmin.net/ -- -- Хост: 127.0.0.1 -- Время создания: Окт 20 2017 г., 14:50 -- Версия сервера: 10.1.21-MariaDB -- Версия PHP: 7.1.1 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- База данных: `quiz` -- -- ——————————————————-- -- -- Структура таблицы `answer` -- CREATE TABLE `answer` ( `id` int(11) NOT NULL, `question_id` int(11) NOT NULL, `count_answer` int(11) NOT NULL DEFAULT '0' ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -- Дамп данных таблицы `answer` -- INSERT INTO `answer` (`id`, `question_id`, `count_answer`) VALUES (1, 1, 0), (2, 2, 0), (3, 3, 0); -- ——————————————————-- -- -- Структура таблицы `question` -- CREATE TABLE `question` ( `id` int(11) NOT NULL, `titile` varchar(256) NOT NULL, `variant` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -- Дамп данных таблицы `question` -- INSERT INTO `question` (`id`, `titile`, `variant`) VALUES (1, 'до 20 лет', 1), (2, 'от 20 до 30', 2), (3, 'более 30', 3); -- -- Индексы сохранённых таблиц -- -- -- Индексы таблицы `answer` -- ALTER TABLE `answer` ADD PRIMARY KEY (`id`); -- -- Индексы таблицы `question` -- ALTER TABLE `question` ADD PRIMARY KEY (`id`); -- -- AUTO_INCREMENT для сохранённых таблиц -- -- -- AUTO_INCREMENT для таблицы `answer` -- ALTER TABLE `answer` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4; -- -- AUTO_INCREMENT для таблицы `question` -- ALTER TABLE `question` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
  5. Это делается на сервере.
  6. 1) Никогда не ведись на дизайн. 2) То что сделано для продажи 90% гамно (во всех сферах). 3) Никогда не сравнивай людей, все люди разные. 4) Передавай свой опыт. 5) Не надейся на деньги. 6) Следи за здоровьем. 7) Не смотри телевизор, выкинь его вообще. 8) Изучай естественные науки, с этими знаниями, проще жить, только не стать ботаником, просто знай многое и оставайся обычным человеком. 9) Найди хороших друзей. 10) Суетись. 11) Не бойся получать двойки, если получил двойку, значит есть, над чем поработать.
  7. DivMan

    UPDATE

    А что за база данных?
  8. Сначала надо верстать фиксировано, потом адаптивно.
  9. Вот и зря! Когда-то я так же думал, что если смогу что-нибудь сверстать, то и адаптив смогу легко сделать , но это совсем не так, начинаю делать адаптив и много чего ломается, потом узнаю, то, что верстаю очень плохо.
  10. Не надо вообще лезть в эти заготовки, не зная основ!
  11. Сделаю за небольшие деньги
  12. <input class="numUser" type = 'number' min = '0' max = '50' size = '50' > <input class="btn" type="button" value="Добавить"> <script> var arr = []; var input = document.querySelector('.numUser'); var btn = document.querySelector('.btn'); btn.addEventListener('click', function(){ if(input.value == '') { alert('Введите число.'); return; } var digit = Number(input.value); if(digit >= 0 && digit <= 50) { arr.push(digit); } else { alert('Минимум 0, максимум 50.'); } console.log(arr); }); </script>
  13. Тот код, который я показал, он нормальный
  14. Чем мой пример не понравился?
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy