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]   

> Без описания
gar855
Отправлено: 21 Июня, 2008 - 20:59:23
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Июнь 2008  


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




Здравствуйте!
Может быть эту тему стоит перенести в раздел для новичков, т.к. я мало понимаю в PHP.

Перед мной стоит такая задача, не могу с ней разобраться:
Необходимо построить в ряд прямоугольники (через ImageCreate(50, 10);)
Колличество прямоугольников и их уровень в ряде берется из таблицы (TAB1) быза данных (BASE1) mySQL.
Колличество строк - это число прямоугольников, а значение в поле LIVEL - это уровень каждого прямоугольника.

Если прямоугольников много и они начали вылезать за границы страницы необходимо, чтобы сработала перемотка наподобе той, что в Яндексе в разделе "картинки"
http://images[dot]yandex[dot]ru/yandsear[dot][dot][dot]g&rpt=simage

Каждый прямоугольник является ссылкой

Может быть кто-нибудь знает где можно взять подобный скрипт.
Надеюсь на Вашу помощь.


Отредактировано модератором: EuGen, 21 Июня, 2008 - 21:39:23
Не включайте, пожалуйста, "разрешить смайлики" в сообщениях, содержащих участки кода.
 
 Top
Гость
Отправлено: 21 Июня, 2008 - 21:52:44
Post Id


УДАЛЁН










В общем-то вопрос не трудный... Постарюсь сворганить какой-нибудь код!

Цитата:
Если прямоугольников много и они начали вылезать за границы страницы необходимо, чтобы сработала перемотка наподобе той, что в Яндексе в разделе "картинки"

Простите великодушно, но "Губа не дура" Эта задача очень даже не простая, чтобы Вам ее просто так решили сразу в форуме
Ограничьтесь пока Marquree совместно с onMouseOver="this.stop()" onMouseOut="this.start()"

А так по мере возможности постараемя помочь

(Отредактировано автором: 21 Июня, 2008 - 21:55:24)

 
 Top
D1mOn
Отправлено: 22 Июня, 2008 - 04:10:25
Post Id



Частый гость


Покинул форум
Сообщений всего: 222
Дата рег-ции: Янв. 2008  
Откуда: Гагастан


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

[+][+][+][+][+]


Юджин, вы бы сняли сами эту галочку "Разрешить смайлики" и мы бы не мучились )
 
 Top
EuGen Администратор
Отправлено: 22 Июня, 2008 - 12:52:34
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




Это - глобальная настройка, я не могу ее сменить. Да и незачем, в свете того, что движок будут менять.
Но давайте вернемся к теме:
Предположим, есть таблица:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. tab1
  4. +-----------+------------------+------+-----+---------+----------------+
  5. | Field     | Type             | Null | Key | Default | Extra          |
  6. +-----------+------------------+------+-----+---------+----------------+
  7. | record_id | int(11) unsigned | NO   | PRI | NULL    | auto_increment |
  8. | level     | int(11) unsigned | NO   |     | 0       |                |
  9. +-----------+------------------+------+-----+---------+----------------+
  10. ?>
  11.  

Тогда, если брать во внимание задачу построения, нам нужно пробежаться по таблице, такой цикл можно организовать так:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $result=mysql_query("SELECT * FROM `tab1`");
  4. while($row=mysql_fetch_array($result))
  5. {
  6.    //цикл построения с ImageCreate
  7. }
  8. ?>
  9.  


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
gar855
Отправлено: 22 Июня, 2008 - 14:30:29
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Июнь 2008  


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




да, число прямоугольников мы узнали, а как рассортировать их в СТРОКУ по значению поля LIVEL,
т.е. в этом поле стоят в строках (допустим всего пять строк) цифры 1,3,2,5,4 =>
первый прямоугольник на первом месте,
второй на третем
третий на втором
четвертый на пятом
пятий на четвертом

Вывод (без сортировки) в цикле у меня не работает (пишет что изображение не может быть показано т.к. содержит ошибки). Без цикла изображение выводится без проблем.


PHP:
скопировать код в буфер обмена
  1. Header("Content-Type: image/gif");
  2. while($row=mysql_fetch_array($result))
  3. {
  4.  
  5. // создаем дескриптор изображения и регистрируем цвета
  6. $image = ImageCreate(50, 20);
  7. $black = ImageColorAllocate($image, 0, 0, 0);
  8. $yellow = ImageColorAllocate($image, 255, 255, 0);
  9. // выполняем "заливку" рисунка
  10. ImageFill($image, 0, 0, $black);
  11. // помещаем на изображение текст с надписью уровня в координаты (21, 10)
  12. //так же нужно потом смещение текста сделать, когда заработает
  13. itring($image, 4, 21, 10, $row['livel'], $yellow);
  14. ImageGIF($image);
  15. ImageDestroy($image);
  16. }



И так же не воспринимает функцию itring;

(Отредактировано автором: 22 Июня, 2008 - 15:10:02)

 
 Top
EuGen Администратор
Отправлено: 22 Июня, 2008 - 16:29:22
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




В запросе используйте:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. SELECT * FROM tab1 ORDER BY level
  3.  


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
gar855
Отправлено: 22 Июня, 2008 - 16:32:12
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Июнь 2008  


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




Первую стадию прошел, вот такой код работает.
Теперь необходима сортировка прямоугольников

PHP:
скопировать код в буфер обмена
  1. $result=mysql_query("SELECT * FROM `tab1`");
  2. function_exists("imagejpeg") or exit();
  3. Header("Content-Type: image/jpeg");
  4. $image = ImageCreate(300, 300);
  5.  
  6. while($row=mysql_fetch_array($result))
  7. {
  8. // регистрируем цвета
  9. $red1 = ImageColorAllocate($image, 255, 0, 0);
  10. $white1 = ImageColorAllocate($image, 255, 255, 255);
  11. $blue1 = ImageColorAllocate($image, 0, 0, 255);
  12.  
  13. $x1=$x2+10;
  14. $y1=1;
  15. $x2+=50;
  16. $y2=30;
  17. imagerectangle( $image, $x1, $y1, $x2, $y2, $white1 );
  18. ImageString ($image, 1, $x1, $y1, $row['livel'], $blue1);
  19. }
  20. ImageJPEG($image);
  21. ImageDestroy($image);
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB