[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: while обработка не выполненых запросов к БД
Jekel
Доброго времени суток. Ситуация такова...есть БД в которой есть столбцы x и y записи начинаются с x0 и y0...в $arr_x и $arr_y такие данные -5,-4,-3,-2,-1,0,1,2,3,4,5 (11 чисел, 11*11=121 результат). Но в связи с отсутствием в БД строк с минус-числами будет выбраны только строки у которых x и y от 0 до 5, тоесть 6*6=36 запросов....в этом и есть проблемма, надо сделать так, чтобы while учитывал и не давшие результатов запросы...чтобы выполнялся $map.="<d".$count.">0</d".$count.">"; и с правильным $count.
т.е если в бд есть поле с x0y0 то выполняется $map.="<d".$count.">".$data_map["img"]."</d".$count.">"; и $count++;....если x1y0 нету, то выполняется $map.="<d".$count.">0</d".$count.">"; и $count++;
Помогите пожалуйста..
$resource = mysql_query("SELECT * FROM `map` WHERE `loc` = 0 AND `x` IN (" . join(',', $arr_x) . ") AND `y` IN (" . join(',', $arr_y) . "  ORDER BY y)");
$count=0;
while($data_map = mysql_fetch_assoc($resource)){
if($data_map['img']){
$map.="<d".$count.">".$data_map["img"]."</d".$count.">";
}else{
$map.="<d".$count.">0</d".$count.">";
}
$count++;
}




Спустя 44 минуты, 55 секунд (21.10.2010 - 00:56) arvitaly написал(а):
Ничо непонятно))) Можно как нить на примере? Что в базе что в массиве


Цитата
11 чисел, 11*11=121 результат


Это вообще к чему неясно абсолютно

Спустя 15 минут, 7 секунд (21.10.2010 - 01:11) Jekel написал(а):
БД

id loc x y img
0 0 0 0 1.gif
1 0 0 1 2.gif
2 0 0 2 64.gif
итд


$userdat_x = 5; $userdat_y = 5;
for ($y=$userdat_y-5; $y<=$userdat_y+5; $y++){
$arr_y[] = $y;
}
for ($x=$userdat_x-5; $x<=$userdat_x+5; $x++){
$arr_x[] = $x;
}

т.е в $arr_y и $arr_x будут значения такие: -5,-4,-3,-2,-1,0,1,2,3,4,5 (11 чисел по x и 11 чисел по y)
соответ. будет 121 результат (11*11) :
$resource = mysql_query("SELECT * FROM `map` WHERE `loc` = 0 AND `x` IN (" . join(',', $arr_x) . ") AND `y` IN (" . join(',', $arr_y) . ") ORDER BY y");


Спустя 7 часов, 15 минут, 56 секунд (21.10.2010 - 08:27) linker написал(а):
Понятно. Строишь карту, значений x и y. Получаешь результат из базы, также строишь карту по значениям из базы, потом одну карту накладываешь на другую и смотришь где "дырки".

Спустя 10 минут, 4 секунды (21.10.2010 - 08:37) linker написал(а):
Дубль темы http://phpforum.ru/index.php?showtopic=35144&hl=

Закрыто
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.