Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вывод картинки по кординатам из бд

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
cougraAcc
Отправлено: 30 Января, 2010 - 14:58:33
Post Id


Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




Всем привет. У меня есть скрипт

<?
include "bd.php";
$bdd = mysql_query("SELECT left,act,width,top,name FROM nedviz WHERE act='1'");
$mmm = mysql_fetch_array($bdd);



$left = $mmm['left'];
$top = $mmm['top'];
$homename = $mmm['name'];

?>
</head><body background="frame_files/grid.png">
<?
print <<<HERE
$left
<div id="image5" style="overflow: hidden; position: absolute; left:$left px; top:$top px; width: 101px; height: 108px; z-index: 4;"><img src="/107.gif" alt="$homename" title="$homename" border="0" height="108" width="101"></div>
HERE;

?>
который должен выводить из бд кординаты для картинки, если строк несколько он должен создавать несколько картинок и чтобы у каждой были свои кординаты
в бд есть: left, top, act,name вот И что то неправильно
Заранее спасибо

(Отредактировано автором: 30 Января, 2010 - 14:59:08)

 
 Top
Мелкий Супермодератор
Отправлено: 30 Января, 2010 - 15:31:34
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




cougraAcc пишет:
если строк несколько он должен создавать несколько картинок

Неправильно то, что mysql_fetch_array вызывается 1 раз. Эта функция возвращает массивом 1 запись за вызов.

Чтобы обрабатывать все возвращённые записи, используйте цикл:
PHP:
скопировать код в буфер обмена
  1. while ($mmm = mysql_fetch_array($bdd)) {
  2. //тут код вывода блока
  3. }


-----
PostgreSQL DBA
 
 Top
cougraAcc
Отправлено: 30 Января, 2010 - 15:40:56
Post Id


Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




<?
include "bd.php";
$bdd = mysql_query("SELECT left,act,width,top,name FROM nedviz WHERE act='1'");

while ($mmm = mysql_fetch_array($bdd)) {

$left = $mmm['left'];
$top = $mmm['top'];
$homename = $mmm['name'];

}
?>
</head><body background="frame_files/grid.png">
<?
print <<<HERE
$left
<div id="image5" style="overflow: hidden; position: absolute; left:$left px; top:$top px; width: 101px; height: 108px; z-index: 4;"><img src="frame_files/107.gif" alt="$homename" title="$homename" border="0" height="108" width="101"></div>
HERE;

?>
получается так, но он все равно не выводит, выводит картинку у которой по нулям отступы
 
 Top
Мелкий Супермодератор
Отправлено: 30 Января, 2010 - 15:50:53
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




while ($mmm = mysql_fetch_array($bdd)) {
//тут код вывода блока
}

А переприсваивание переменных выводом не занимается.
PHP:
скопировать код в буфер обмена
  1. <?
  2. include "bd.php";
  3. $bdd = mysql_query("SELECT left,act,width,top,name FROM nedviz WHERE act='1'");
  4. ?>
  5. </head><body background="frame_files/grid.png">
  6. <?
  7. while ($mmm = mysql_fetch_array($bdd)) {
  8.  
  9. $left = $mmm['left'];
  10. $top = $mmm['top'];
  11. $homename = $mmm['name'];
  12.  
  13. print <<<HERE
  14. $left
  15. <div id="image5" style="overflow: hidden; position: absolute; left:$left px; top:$top px; width: 101px; height: 108px; z-index: 4;"><img src="frame_files/107.gif" alt="$homename" title="$homename" border="0" height="108" width="101"></div>
  16. HERE;
  17. }
  18. ?>


-----
PostgreSQL DBA
 
 Top
cougraAcc
Отправлено: 30 Января, 2010 - 17:44:32
Post Id


Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




веришь, не выводится((((
 
 Top
Мелкий Супермодератор
Отправлено: 30 Января, 2010 - 18:07:56
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Таки не верю. Смотрите исходный код страницы: блоков должно быть столько, сколько mysql возвращает записей по запросу.

Вот в то, что из-за неверных данных в базе, могут быть не видны на странице блоки - поверить могу. Или в то, что mysql возвращает 0 или 1 запись (смотря, отображается хоть что-то или нет) - тоже могу поверить.


-----
PostgreSQL DBA
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB