Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
danilatorsu
5 / 5 / 2
Регистрация: 30.01.2014
Сообщений: 73
#1

PHP как логично построить алгоритм скрипта - PHP

24.02.2014, 19:52. Просмотров 382. Ответов 0
Метки нет (Все метки)

Есть таблица treets (пути), а так же location;
treet:
id(int) - ID тропинки
id_start - ID локации откуда идем
id_close - ID локации куда попадем
То есть таблица отвечает за пути, из какой локации куда можно попасть.

location:
id_location - ID локации
...

Суть такая, чтобы продумать алгоритм нахождения пути из одной локации, в другую, например, если они находятся "далеко", т.е. одна локация находятся через несколько других.
Вот сначала в голову пришло...
Но это не работает, как надо:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
function SearchTreet($id_start,$id_close)
    {
        # table: id_start(int),id_close(int)
        $treets = array();
        
        for($i = 0; $i < $user_actions; $i++) //От 0 до кол-ва пути (км) , которое может пройти игрок
        {
            $query = DB::query(Database::SELECT,"SELECT * FROM `treets` WHERE `id_start` = :id") //Куда мы можем попасть с этой локации?
            ->bind(':id',$id_start)
            ->execute();
            
            /*
                Пример mysql_fetch_array($query):
                Array = [
                            (column `id_start`) [1] = 1 - ID локации в которую можно попасть из текущей
                            (column `id_close`) [2] = 9 - аналогично
                        ]
            */
            
            $arr = $query->as_array();
            if($arr['id_close'] != $id_close) //Значит мы еще не пришли...?!
            {
                $treets[] = $arr['id_close']; //Все равно добавляем в тропы, которые нужно будет пройти
                SearchTreet($arr['id_close'],$id_close);//Рекурсия: как же попасть нам в эту локацию?! 
                //Потихоньку прокладываем путь...
            }
            else
            {
                $treets[] = $id_close; //Пришли
                break;
            }
            
        }
        
        return $treets;
    }
Добавлено через 9 минут
Поправка, если путей несколько:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
while(false !== ($arr = $query->as_array())) //Обрабатываем все найденные пути на локации
            {
                if($arr['id_close'] != $id_close) //Значит мы еще не пришли...?!
                {
                    $treets[] = $id_close; //Все равно добавляем в тропы, которые нужно будет пройти
                    SearchTreet($id_close);//Рекурсия: как же попасть нам в эту локацию?! 
                    //Потихоньку прокладываем путь...
                }
                else
                {
                    $treets[] = $id_close; //Пришли
                    break;
                }
            }

http://www.cyberforum.ru/php/thread89563.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.02.2014, 19:52
Я подобрал для вас темы с готовыми решениями и ответами на вопрос PHP как логично построить алгоритм скрипта (PHP):

Как назначить переменной php-скрипта значение переменной скрипта js?
Как назначить переменной php-скрипта значение переменной скрипта js? Javascript...

Выполнение строки как php-скрипта
Здравствуйте. Так как предыдущая тема не взлетела, то задам вопрос более...

Как остановить выполнение php скрипта
Есть страничка с php кодом, находящимся примерно по середине. Мне нужно, чтобы...

Вызов php скрипта из другого скрипта
Есть такой код echo ('&lt;img src=&quot;d.php?q='.$f.'&amp;s='.$z0.'&quot; width=&quot;50%&quot;&gt;');...

Как открыть доступ на выполнение php скрипта в js файле
Как разрешить выполнение php скрипта в js файле ? Читала, нужно прописать...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.02.2014, 19:52
Привет! Вот еще темы с решениями:

Дублируются запросы из PHP-скрипта, как с этим бороться?
Столкнулся с очень странным глюком. У меня есть bash-скрипт, который из...

Как мне вставить в цикл PHP скрипта HTML-ссылку?
Подскажите как мне вставить в цикл PHP скрипта HTML-ссылку скрипт на подобие:...

Как загрузить результат php скрипта без перезагрузки страницы?
Добрый день! Есть скрипт на php: Код скрипта на php &lt;?php...

Как передать из массив из серверного скрипта PHP в клиентский javascript?
Непонятно как организовать цикл....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru