• ×   Pasted as rich text.   Paste as plain text instead

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By Super_Saimon
      Добрый день! Есть задание - игра в города. Нужно из бд взять перечень городов и в момент ответа компьютера или игрока сравнивать города из списка, взятого из базы. Все, вроде, понятно, но столкнулся с проблемой, что некорректно удаляются города из массива, в котором хранится список городов из базы. Я использую этот массив чтобы знать когда игра закончилась и не повторялись города в ответах. Собственно, сам код без файла с подключением в бд. Там проблем я не обнаружил, массив городов функция возвращает корректный. Но удаление уже выбранных городов - проблема, которую никак не могу решить, вернее, понять в чем суть самой проблемы. Извиняюсь что выкладываю код в таком виде, не нашел аналога jsfiddle для php

       
      session_start();
      if(!empty($_GET['restart'])) {
          unset($_SESSION['cities']);
          unset($_SESSION['answer']);
          unset($_SESSION['incorrect_city']);
          unset($_SESSION['game_over']);
          header('Location: ./form.php');
          exit;
      }
      define('HOST', 'localhost');
      define('USER', 'root');
      define('PASSWORD', '');
      define('DATABASE', 'gamecity');
      $connect = mysqli_connect(HOST, USER, PASSWORD, DATABASE);
      function getCityFromDB($dbconfig) {
          $listOfCities = "SELECT * FROM city ORDER BY city_id ASC";
          $query = mysqli_query($dbconfig, $listOfCities);
          while($res[] = mysqli_fetch_assoc($query)) {
              $cities = $res;
          }
          foreach($cities as $key => $val) {
              foreach($val as $key2 => $val2) {
                  if($key2 == 'city_name') {
                      $city[] = $val2;
                  }
              }
          }
          return $city;
      }
      if (empty($_SESSION['cities'])) {
          $_SESSION['cities'] = getCityFromDB($connect);
      }
      if(!empty($_POST['send'])) {
          if (findCity($_POST['city'], $_SESSION['cities'])) {
              if (empty($_SESSION['answer'])) {
                  $_SESSION['answer'] = firstStep($_POST['city'], $_SESSION['cities']);
                  $temp = deleteCity($_SESSION['answer'], $_SESSION['cities']);
              }else {
                  $answer = answer($_POST['city'], $_SESSION['answer'], $_SESSION['cities']);
                  if($answer) {
                      $_SESSION['answer'] = $answer;
                      $temp = deleteCity($_SESSION['answer'], $_SESSION['cities']);
                  }else {
                      $_SESSION['game_over'] = 2;
                  }
              }
              if(!$temp){
                  $_SESSION['game_over'] = 1;
              }else {
                  $_SESSION['cities'] = $temp;
              }
          }else {
              $_SESSION['incorrect_city'] = 'Некорректный город';
          }
          header('Location: /form.php');
          exit;
      }
      function firstStep($userCity, $arrayOfCities) {
          $temp = '';
          if(!empty($userCity)) {
              foreach ($arrayOfCities as $key => $val) {
                  if(mb_strtoupper(mb_substr($userCity, -1, 1, 'utf-8')) == mb_substr($val, 0, 1, 'utf-8')) {
                      $temp .= $userCity . ',' . $val;
                      return $temp;
                  }
              }
          }
          return false;
      }
      function findCity ($city, $listCities) {
          foreach($listCities as $key => $val) {
              if($val == $city) {
                  return true;
              }
          }
          return false;
      }
      function answer($city, $answer, $arrayOfCities) {
          if(mb_substr($city, 0, 1, 'utf-8' ) == mb_strtoupper(mb_substr($answer, -1, 1, 'utf-8'))) {
              $char = mb_strtoupper(mb_substr($city, -1, 1, 'utf-8'));
              foreach($arrayOfCities as $key => $val) {
                  $temp = mb_strpos($val, $char, 0,'utf-8');
                  if ($temp !== false) {
                      $answer .= ',' . $city . ',' . $val;
                      break;
                  }
              }
              return $answer;
          }
          return false;
      }
      function deleteCity($town, $cities) {
          if (count($cities) > 0) {
              $town = explode(',', $town);
              $cities = array_values($cities);
              for($i = 0; $i < count($town); $i++) {
                  for($j = 0; $j < count($cities); $j++) {
                      if($town[$i] == $cities[$j]) {
                          unset($cities[$j]);
                      }
                  }
              }
              return $cities;
          }
          return false;
      }
    • By egrom92
      Задача Нужен человек работающий на друппал. 
      Есть готовый сайт. Клиенту нужно сделать дополнительно 1 страницу. На этой странице около 7-8 блоков но из них только 3 надо сверстать. Остальные блоки у же есть на сайте. 

      Нужно сверстать и посадить блоки на друпал. Дело срочное, спасибо!
      Обязательные требования Писать в телеграм @egrom92
    • By kuzia007
      Пример сайта по разработке reactiq точка net 
      Цена на разработку 70 000 рублей. Без дизайна и верстки, от вас нам нужен функционал 
      на фреймворке Lavarel 
      Нужно постараться уложиться в 20 дней по срокам. 
      Работа по Сделке без риска. B и больше ни как. 

      Основные моменты работы сайта: 
      авторизация сайта через стим 
      считывания апи через официальный сайт pubg 
      Трейдов скинов и все остальное не будет! 
      подключить систему оплат 
      создание личного кабинета для пользователя. 
      Есть полное ТЗ проекта, которое мы готовы упрощать на первом этапе.
      Готовы достойно оплачивать ваш труд! 
      Пишите в телеграм @evgensalyah
  • Member Statistics

    46,529
    Total Members
    3,128
    Most Online
    6eJlbIu
    Newest Member
    6eJlbIu
    Joined
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Спрашивают сейчас

  • Пишут сейчас

    • начнем с того, что данные ваших товарных позиций должны быть структурированы, например если они хранятся в SQL, то в вашем случае это может выглядеть:

      table
      date_start | date_stop | type | color | capacity | carrying

      одна строка - одна позиция
      SQL запрос к данной таблице вернет массив объектов с данными свойствами из таблицы (table)
      Без каких либо условий - это будут все записи. Если вам нужен фильтр по какой-либо колонке/колонкам или сортировка, то для этого в SQL запрос добавляются условия которые передаются в скрипт через POST или GET запрос с помощью формы
      например:

      <form method="post">
      <input name="date_start">
      <input name="date_stop">
      ....
      type и color логично сделать через select чтобы выбирать из существующих возможных вариантов
      capacity и carrying возможно потребуется возможность указания диапазона (от и до)
      ....
      </form>

      все выше перечисленное только в рамках возможных вариантов которых можно еще придумать
      если мы например укажем date_start то в скрипте используя $_POST['date_start'] можно будет добавить условие в SQL запрос
      ... WHERE `table`.`date_start` = $_POST['date_start']
      в этом случае на странице вывода позиций будут присутствовать только с Дата начала аренды указанной в фильтре

      в целом данная система - это большой комплекс разных механизмов в котором очень много нюансов, но если задаться целью, то можно сделать простенький фильтр на сайте
       
    • Здравствуйте. До сегодняшнего дня, я только занимался версткой макетов, и не совсем понимаю как в принципе после верстки сайты оживают и начинают работать. 

      Вот например, я сверстал карточки товаров, и там есть сортировка, но понятия не имею как его делать.

      Там есть формы: 
      - Дата начала аренды
      - Дата конца аренды
      - Тип транспорта
      - Цвет
      - Вместимость
      - Грузоподъемность Буду очень благодарен тому кто распишет как все это работает, а то понять не могу, что-то для меня это совсем темное и туманное.... 
    • мне кажется тут вам нужно будет использовать js
      если взять за основу предложенный вариант @klierik, для элемента на который вы будете наводить менять класс цвета или создать какой-нибудь атрибут data- 
      https://jsfiddle.net/7g8cdwqj/
  • Popular Contributors