даже картинку нарисовал чтобы понятнее было
суть вопроса
имеем $x=57 $y=14 ,нужно выбрать 25 значений
$y=14; $x=57;
$mapa = mysql_query("SELECT pole.'$x-2',pole.'$x-2',pole.'$x',pole.'$x+1',pole.'$+2',
FROM map001
WHERE id = '$y-2'&&'$y-1'&&'$y'&&'$y+1'&&'$y+2' ",$db);
$mapkl = mysql_fetch_array($mapa);
а как потом извлекать . извлекается 1я строка и всё.
учился по Попову, местные поймут)).
Надеюсь на помощь, зараннее спасибо
Спустя 2 минуты, 47 секунд (22.05.2012 - 14:02) TranceIT написал(а):
$y=14; $x=57;
$mapa = mysql_query("SELECT pole.'$x-2',pole.'$x-2',pole.'$x',pole.'$x+1',pole.'$+2',
FROM map001
WHERE id = '$y-2'&&'$y-1'&&'$y'&&'$y+1'&&'$y+2' ",$db);
while ($row = mysql_fetch_assoc($mapa))
$mapkl[] = $row;
print_r($mapkl);
Спустя 18 минут, 9 секунд (22.05.2012 - 14:20) Миха написал(а):
ругается
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in Z ...
мне необходимы точечные запросы например на 7ю, потом 4ю ячейку таблицы
мне кажется ошибка где-то здесь
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in Z ...
мне необходимы точечные запросы например на 7ю, потом 4ю ячейку таблицы
мне кажется ошибка где-то здесь
WHERE id = '$y-2'&&'$y-1'&&'$y'&&'$y+1'&&'$y+2' ",$db);
Спустя 3 минуты, 17 секунд (22.05.2012 - 14:23) Kuliev написал(а):
Цитата (Миха @ 22.05.2012 - 14:20) |
ругается Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in Z ... мне необходимы точечные запросы например на 7ю, потом 4ю ячейку таблицы мне кажется ошибка где-то здесь
|
Ошибка в запросе, лишняя запятая!!! Отлавливайте ошибки после запроса!
Спустя 7 минут, 24 секунды (22.05.2012 - 14:31) Миха написал(а):
запятую я здесь ошибочно поставил когда код переписывал(переменные упрощал).
Спустя 6 минут, 3 секунды (22.05.2012 - 14:37) Kuliev написал(а):
Цитата (Миха @ 22.05.2012 - 14:31) |
запятую я здесь ошибочно поставил когда код переписывал(переменные упрощал). |
Я имел ввиду в САМОМ ЗАПРОСЕ, смотрите внимательней!
Спустя 1 минута, 44 секунды (22.05.2012 - 14:39) TranceIT написал(а):
В запросе значит ошибка. Перед mysql_fetch_assoc() сделайте echo $mapa; и внимательно изучите.
Спустя 16 минут, 24 секунды (22.05.2012 - 14:55) Миха написал(а):
возможно я сам вас путаю пытаясь упростить переменные.
выкладываю оригинал кода
этот код работает, но хотелось сформировать 1 запрос вместо 5и
выкладываю оригинал кода
$result = mysql_query("SELECT * FROM uzers WHERE id = 1 ",$db);
$myarr = mysql_fetch_array($result);
$xx=$myarr[xx];$yy=$myarr[yy];$ttt=$yy-1;$ddd=$yy+1;$lll=$xx-1;$rrr=$xx+1;
$mapa = mysql_query("SELECT * FROM map001 WHERE id = $yy-2 ",$db);
$mapkl = mysql_fetch_array($mapa);
$aa='zzz'.$mapkl['xx'.($xx-2)];$ab='zzz'.$mapkl['xx'.($xx-1)];$ac='zzz'.$mapkl['xx'.($xx)];$ad='zzz'.$mapkl['xx'.($xx+1)];$ae='zzz'.$mapkl['xx'.($xx+2)];
$mapa = mysql_query("SELECT * FROM map001 WHERE id = $yy-1 ",$db);
$mapkl = mysql_fetch_array($mapa);
$ba='zzz'.$mapkl['xx'.($xx-2)];$bb='zzz'.$mapkl['xx'.($xx-1)];$bc='zzz'.$mapkl['xx'.($xx)];$bd='zzz'.$mapkl['xx'.($xx+1)];$be='zzz'.$mapkl['xx'.($xx+2)];
$mapa = mysql_query("SELECT * FROM map001 WHERE id = $yy ",$db);
$mapkl = mysql_fetch_array($mapa);
$ca='zzz'.$mapkl['xx'.($xx-2)];$cb='zzz'.$mapkl['xx'.($xx-1)];$cc='zzz'.$mapkl['xx'.($xx)];$cd='zzz'.$mapkl['xx'.($xx+1)];$ce='zzz'.$mapkl['xx'.($xx+2)];
$mapa = mysql_query("SELECT * FROM map001 WHERE id = $yy+1 ",$db);
$mapkl = mysql_fetch_array($mapa);
$da='zzz'.$mapkl['xx'.($xx-2)];$d1='zzz'.$mapkl['xx'.($xx-1)];$dc='zzz'.$mapkl['xx'.($xx)];$dd='zzz'.$mapkl['xx'.($xx+1)];$de='zzz'.$mapkl['xx'.($xx+2)];
$mapa = mysql_query("SELECT * FROM map001 WHERE id = $yy+2 ",$db);
$mapkl = mysql_fetch_array($mapa);
$ea='zzz'.$mapkl['xx'.($xx-2)];$eb='zzz'.$mapkl['xx'.($xx-1)];$ec='zzz'.$mapkl['xx'.($xx)];$ed='zzz'.$mapkl['xx'.($xx+1)];$ee='zzz'.$mapkl['xx'.($xx+2)];
этот код работает, но хотелось сформировать 1 запрос вместо 5и
Спустя 29 минут, 29 секунд (22.05.2012 - 15:25) Renden написал(а):
Миха
$y = 14; $x = 57;
$array_x = range($x-2, $x+2);
$array_y = range($y-2, $y+2);
$query = mysql_query("SELECT pole".implode(',pole', $array_x)." FROM `map001`
WHERE `id` IN(".implode(',',$array_y).")");
$result = array();
while ($row = mysql_fetch_assoc($query))
$result[] = $row;
print_r($result);
Спустя 11 минут, 53 секунды (22.05.2012 - 15:36) Миха написал(а):
большое спасибо то, что искал