Помогите с in_array
|
|
jeki | Дата: Суббота, 05 Января 2013, 11:24 | Сообщение # 1 |
участник
Сейчас нет на сайте
| Всем привет.У меня такая проблема.Не переходит на локации. Вот такой код: Код $locid = $_GET['locid'];
$info_user = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE id='$id'")); $row = mysql_fetch_array(mysql_query("SELECT * FROM `location2` WHERE id='{$info_user['location']}'")); $go_array = $row['array_go']; $arr = array($row['id']=>array($go_array)); if(in_array($locid, $arr[$info_user['location']])){ update('users',array('location'=>$locid),'id='.(int)$id); header("Location: game.php?fun=m_loc&map=1"); }else{ echo '<script>alert("Нельзя попасть в локацию!");location.href="game.php?fun=m_loc&map=1"</script>'; } Помогите.
Поставьте + плизми
|
|
| |
DreamOff | Дата: Воскресенье, 06 Января 2013, 18:14 | Сообщение # 2 |
был не раз
Сейчас нет на сайте
| функция in_array работает следующим образом in_array("название поля или переменная если вам нодо ",название массива (в вашем случае $arr)); это одна из причин почему не работает , есть ещё несколько строк не вызывающих доверия , такие как $arr = array($row['id']=>array($go_array)); и update('users',array('location'=>$locid),'id='.(int)$id);
|
|
| |
jeki | Дата: Воскресенье, 06 Января 2013, 20:54 | Сообщение # 3 |
участник
Сейчас нет на сайте
| DreamOff, я же дал скрины из базы что там не понять.А функция update её можно расписать как mysql_query("UPDATE users SET location='$locid' WHERE id='$id'");
Поставьте + плизми
|
|
| |
DreamOff | Дата: Воскресенье, 06 Января 2013, 22:26 | Сообщение # 4 |
был не раз
Сейчас нет на сайте
| Хорошо , давайте разберем тогда... меня тоже заинтересовало решение этой проблемы : у вас 2 таблицы 1 с инфо юзера в ней и 2 таблица с локациями и их свойствами во 2ой таблице поле array_go как я понимаю это контейнер в котором перечислены id лок через которые можно пройти в эту локу .
$arr = array($row['id']=>array($go_array)); вот этой строкой вы создаете многомерный массив который если прогнать через print_r выдает следующее Код Array ( [1] => Array ( [0] => 1,2,3,4 )
) потом вы пытаетесь if(in_array($locid, $arr[$info_user['location']])) проверить есть ли в многомерном массиве (от у меня имеет значение 1 в примере выше ) значение которое висит в $locid если я в самом начале поста угадал с тем что вам нужно , то решение в следующем
$go = explode(",",$go_array); $arr = array($row['id']=>$go);
если вставить в скрипт это то при листинге массива его вид будет следующий Код Array ( [1] => Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )
) и в этом случае функция in_array будет уместна ибо ей будет что перебирать в массиве
|
|
| |
jeki | Дата: Понедельник, 07 Января 2013, 11:51 | Сообщение # 5 |
участник
Сейчас нет на сайте
| DreamOff, я вас понимаю,но когда я сделал так: Код $arr = array( 1=>array(2,3) 2=>array(1), 3=>array(1) ) Все заработало.Но это не удобно.
Поставьте + плизми
|
|
| |
Lord135 | Дата: Понедельник, 07 Января 2013, 22:19 | Сообщение # 6 |
постоянный участник
Сейчас нет на сайте
| Ты нуб) Читай о массивах и функциях к ним применимым.)) И лучше всего напиши СВОЙ движок (меньше проблем с разбором "что, где и какого... почему т.е.?" ) для игры)
Сообщение отредактировал Lord135 - Понедельник, 07 Января 2013, 22:21 |
|
| |
jeki | Дата: Вторник, 08 Января 2013, 17:49 | Сообщение # 7 |
участник
Сейчас нет на сайте
| Ко мне не относится! Я просил совета.Просто не работает и это мой движок!
Поставьте + плизми
Сообщение отредактировал jeki - Вторник, 08 Января 2013, 17:50 |
|
| |
Lord135 | Дата: Вторник, 08 Января 2013, 18:08 | Сообщение # 8 |
постоянный участник
Сейчас нет на сайте
|
|
|
| |
PROstak | Дата: Вторник, 08 Января 2013, 18:22 | Сообщение # 9 |
частый гость
Сейчас нет на сайте
| Цитата (Lord135) ты его писал сам?) С нуля?) В принципе мы работаем вместе, но так как я последнее время приболел и очень редко заходил то 80% всего движка написано именно ним...
|
|
| |
liker | Дата: Вторник, 08 Января 2013, 19:40 | Сообщение # 10 |
почетный гость
Сейчас нет на сайте
| А что за движок? на конкретную игру пишите или универсальный, что умеет движок? просто интересно
|
|
| |
Lord135 | Дата: Вторник, 08 Января 2013, 19:44 | Сообщение # 11 |
постоянный участник
Сейчас нет на сайте
| liker, движок про карманных монстров (покемоны, мать их)
|
|
| |
PROstak | Дата: Вторник, 08 Января 2013, 19:45 | Сообщение # 12 |
частый гость
Сейчас нет на сайте
| Цитата (Lord135) движок про карманных монстров Да именно про них, но можно пока не многое... Переходить по локам, писать в чат ну и сестра Джой работает... То есть пока что даже pve боя нету.
|
|
| |
liker | Дата: Вторник, 08 Января 2013, 19:49 | Сообщение # 13 |
почетный гость
Сейчас нет на сайте
| а есть сайт поглядеть?
|
|
| |
PROstak | Дата: Вторник, 08 Января 2013, 19:55 | Сообщение # 14 |
частый гость
Сейчас нет на сайте
| Есть но поглядеть не получится так как регистрация закрыта пока что на доработку игры.
|
|
| |
liker | Дата: Вторник, 08 Января 2013, 20:03 | Сообщение # 15 |
почетный гость
Сейчас нет на сайте
| скинь, просто позырю сам сайт как и что
|
|
| |
Lord135 | Дата: Вторник, 08 Января 2013, 20:29 | Сообщение # 16 |
постоянный участник
Сейчас нет на сайте
| Цитата (PROstak) 80% всего движка написано именно ним... Цитата (PROstak) можно пока не многое... Переходить по локам, писать в чат ну и сестра Джой работает... То есть пока что даже pve боя нету. Как-то противоречиво, не?
|
|
| |
jeki | Дата: Среда, 09 Января 2013, 11:09 | Сообщение # 17 |
участник
Сейчас нет на сайте
| PROstak, прости что сказал что движок мой.
Поставьте + плизми
|
|
| |
liker | Дата: Среда, 09 Января 2013, 12:05 | Сообщение # 18 |
почетный гость
Сейчас нет на сайте
| jeki, а чего у тебя рейтинг отрицательный?
|
|
| |
PROstak | Дата: Среда, 09 Января 2013, 15:48 | Сообщение # 19 |
частый гость
Сейчас нет на сайте
| jeki, Да ничего ты и так там больше меня уже сделал) Добавлено (09.01.2013, 15:39) --------------------------------------------- liker, Лучше на него не смотреть) Там css где то 0.7% и то вряд ли. О главной я вообще молчу. Кнопка регистрации и авторизации... Ну и новостная лента неудачно размещенная выше всего этого. Добавлено (09.01.2013, 15:48) --------------------------------------------- Lord135, Я имел ввиду что 80% того что есть
|
|
| |
jeki | Дата: Среда, 09 Января 2013, 20:47 | Сообщение # 20 |
участник
Сейчас нет на сайте
| liker, см сам.Меня взламывали.
Поставьте + плизми
|
|
| |