Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Из БД в <img> а их розмещаем по слоям (https://javascript.ru/forum/server/6759-iz-bd-v-img-ikh-rozmeshhaem-po-sloyam.html)

PeaceCoder 23.12.2009 11:21

$mybase = mysql_query("(SELECT img, x, y,name,0 AS t  FROM objects WHERE id!='$pid') UNION (SELECT loc as img,x,y,name,1 AS t FROM customers WHERE id!='$pid') ORDER BY y ASC,t ASC"); 
while($db = mysql_fetch_assoc($mybase)) {
  //запихиваем данные из строк в <img>
  $all = "<img src='{$db['img']}' width='50' height='50' id='{$db['name']}' name='{$db['name']}' style='position: absolute; left:{$db['x']}; top:{$db['y']}'></img>";
  $isbnTextq = $dom->createTextNode($all);
  $one->appendChild($isbnTextq);
  }


Вопрос: есть ли в objects столец name? если да то все ок. если нет то надо будет переделать запрос...

Jekel 23.12.2009 12:58

нету( лучше наверное по id....и в objects будет еще куча столбцов которые нужно будет выводить))
Вроде и работает но еще очень плужит...http://doobiz.co.cc/lamer.php - посмотри, сделал управление customer'сами кнопками WASD...введи в поле число от 1 до 5 - id кустомерсов....попередвигай их и ты все увидишь.....
вот так розмещаются картинки:

О_о и этот код не работает в IE! )))

PeaceCoder 23.12.2009 20:24

переделал немного прошлый пост. попробуй ща.

Jekel 23.12.2009 20:52

$mybase = mysql_query("(SELECT img,x,y,id,t=0 FROM objects) UNION (SELECT loc as img,x,y,id,t=1 FROM customers) ORDER BY y ASC,t ASC"); 
while($db = mysql_fetch_assoc($mybase)) {
  //*************************
  $all = "<img src='{$db['img']}' width='50' height='50' id='{$db['id']}' name='{$db['name']}' style='position: absolute; left:{$db['x']}; top:{$db['y']}'></img>";
  $Display = $dom->createTextNode($all);
  $one->appendChild($Display);
}


:( не работает...ошибка не может найти в базе t я так понял

Warning:  mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource on line 29
29: while($db = mysql_fetch_assoc($mybase)) {


Что это за t вообще?

Jekel 23.12.2009 21:21

я вродебы понял....оно меряет y верха картинки....надо задавать y + height этой картинки

тогда на пол-картинки objecta нельзя будет зайти...

PeaceCoder 23.12.2009 21:23

аа блин голова уже не варит. изменил пост. попробуй ща.

Jekel 23.12.2009 21:26

:-? извини за то, что напрягаю...сейчас попробую

Jekel 23.12.2009 21:40

да вродь все работает но оно меряет не по y max именно отдельного рисунка а читает просто его у тоесть верхнюю точку рисунка....от посмотри на doobiz.co.cc/lamer.php там черный прямоугольник....он должен быть перед тем ящиком..но все наоборот а если написать как-то
y+this.img.height ))) то все будет гуд....т.е надо чтобы игрик брало внизу рисунка
но как это так оформить да правильно росписать...я не могу понять...да я и не знаю наверное(

PeaceCoder 23.12.2009 23:01

для этого надо знать высоту рисунка... на сервере или можно например в клиенте корректировать координаты... но это нагрузка на клиент
=

Jekel 24.12.2009 00:14

т.е мне надо чтобы в БД в записях были записаны высота и ширина рисунка???(( хотелось бы автоматизма добится какого-то..
а если в клиенте (js) при приеме данных как-то фасовать картинки...так возможно?

ну написал в БД w и h ....высота и ширина, так пашет:
$mybase = mysql_query("(SELECT img,x,y,w,h,id,0 AS t FROM objects) UNION (SELECT img,x,y,w,h,id,1 AS t FROM customers) ORDER BY y+h ASC,t ASC"); 
while($db = mysql_fetch_assoc($mybase)) {

  $all = "<img src='{$db['img']}' width='{$db['w']}' height='{$db['h']}' id='{$db['id']}' style='position: absolute; left:{$db['x']}; top:{$db['y']}'></img>";
  $Display = $dom->createTextNode($all);
  $one->appendChild($Display);
}


Часовой пояс GMT +3, время: 21:40.