Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 28.11.2006, 13:21
KrisSys вне форума Посмотреть профиль Отправить личное сообщение для KrisSys Найти все сообщения от KrisSys
  № 1  
Ответить с цитированием
KrisSys

Регистрация: Jul 2005
Сообщений: 6
По умолчанию Flash-кнопка и PHP-меню. Как соединить?

*******Ситуация такая: Будущий владелец сайта в своем админ-разделе сочинит нужные ему пункты меню и укажет нужные ему URL-ы, установит галочки, чтобы выбрать какие пункты меню активировать сразу, а какие пока оставить скрытыми. Все это ляжет в таблицу SQL (в поля id, section, link, visible).
****Меню на странице сайта формируется вот таким PHP кодом.

Код:
<?php
$sql="SELECT id, visible, section, link FROM menu ORDER by id";
$result=mysql_query($sql);
	while($row=mysql_fetch_array($result)) 
		if($row["visible"]=="yes") //если пункт не заблокирован и его надо включить в меню, то показываем
		{
		echo("<a href='".$domain.$row["link"]."'>".$row["section"]."</a>");
	}
?>
Очень хочется сделать на каждый пункт меню кнопку Flash, чтобы надписи на кнопках и URL вставлялись из DB.
Подскажите как соединить этот код php и AS?
Если можно поподробнее, в какой кадр кнопки, что и как правильно надо вписать?
Как надо изменить этот код, чтобы линки cделать Flash-кнопками.
PS - пункты меню НЕ НА РУССКОМ!
Помогите пожалуйста!

Старый 28.11.2006, 17:29
msdn вне форума Посмотреть профиль Отправить личное сообщение для msdn Найти все сообщения от msdn
  № 2  
Ответить с цитированием
msdn

Регистрация: Jan 2003
Адрес: Kiev
Сообщений: 116
очень просто.
надо передать массив твоих линков во флеш.
тут 2 способа
1)флеш из файла принимает в формате a=value&a1=value1...
принимать так : loadvariable("index.php",_root);
в результате получишт во флеше _root.a,_root.a1 и т.д.
2) прямо в код где объявлена флешка,
например

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="500" height="470" id="flash1" align="center">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="flash1.swf?id=2821635&rnd=9777 />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<embed src="flash1.swf?id=2821635&rnd=9777" quality="high" bgcolor="#ffffff" width="500" height="470" name="flash1" align="center" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>

переменные попадают в _root

Старый 28.11.2006, 20:09
KrisSys вне форума Посмотреть профиль Отправить личное сообщение для KrisSys Найти все сообщения от KrisSys
  № 3  
Ответить с цитированием
KrisSys

Регистрация: Jul 2005
Сообщений: 6
2msdn
Т.е. я получу a=.., a1=.. ... - это URL линков? А надписи на кнопке? Я не понимаю. Не забивай тапками... плиззз, разъясни. Пожалуйста, можно все же пункт 1) поподробнее.
Цитата:
Подскажите как соединить этот код php и AS?
Если можно поподробнее, в какой кадр кнопки, что и как правильно надо вписать?

Старый 28.11.2006, 20:39
msdn вне форума Посмотреть профиль Отправить личное сообщение для msdn Найти все сообщения от msdn
  № 4  
Ответить с цитированием
msdn

Регистрация: Jan 2003
Адрес: Kiev
Сообщений: 116
т.е. ты мог бы получить _root.a1,_root.a2.
лучше попробуй передать сразу массив, передать можно так:
<?php
$sql="SELECT id, visible, section, link FROM menu ORDER by id";
$result=mysql_query($sql);
$i = 0;
while($row=mysql_fetch_array($result))
if($row["visible"]=="yes") //если пункт не заблокирован и его надо включить в меню, то показываем
{
echo "url[".$i."]=".$domain.$row["link"]."&";
$i++;

}
?>

а принять так:
loadvariable("index.php",_root);
1)понятно что пхп код лежит в файлике index.php, или назови его как тебе удобно.
2)в результате у тебя будет массив _root.url со ссылками, все что нужно кроме ссылок можеть передать так же.
3)что бы увидеть появится ли текст во флеше, поставь текстовое поле, и в свойствах поставь ему в поле varible, _root.url[0], должно показать первый эл-нт массива.

Старый 29.11.2006, 09:52
KrisSys вне форума Посмотреть профиль Отправить личное сообщение для KrisSys Найти все сообщения от KrisSys
  № 5  
Ответить с цитированием
KrisSys

Регистрация: Jul 2005
Сообщений: 6
Угу... пока еще реально не вижу, но ход мысли ясен. Биг сенькс за науку. Пойду грызть

Старый 01.12.2006, 16:22
KrisSys вне форума Посмотреть профиль Отправить личное сообщение для KrisSys Найти все сообщения от KrisSys
  № 6  
Ответить с цитированием
KrisSys

Регистрация: Jul 2005
Сообщений: 6
Вооот... получилось вот что: это в index.php
Код:
<?php 
$sql="SELECT section, link FROM menu ORDER by id";
$result=mysql_query($sql);
$i = 0; $k = 0;
while($row=mysql_fetch_array($result)) 
{
echo "url[".$i."]=".$row["link"]."&";
echo "txt[".$k."]=".$row["section"]."&";
$i++; $k++;
}
?>
— Во Flash AS вписана строка loadVariables("index.php",_root);
(Кстати «loadVariable» с «S» на конце ... - убил 2 часа пока обнаружил... ладно, проехали...)

— текстовое поле (это, конечно не кнопка, о которой я спрашиваю, ну да ладно - не до жиру...) показывает мне первые элементы массива.
Вроде Ура!! да не тут то было.

— ВОПРОС остался не решен! Как же теперь показать следующую флэш-кнопку (или текст.поле), чтобы в нем был второй (третий и т.д.) эл-т полученного массива?

Т.е. вопросы остались те же, только поменялись местами:
— Как надо изменить этот код, чтобы линки cделать Flash-кнопками и чтобы надписи и линки были взяты из DB.
— В какой кадр кнопки, что и как правильно надо вписать?
И появился новый вопрос:
— А что делать, если текст в DB в два слова, т.е. с пробелом? Надписи в два слова не работают (их не видно). Я так понимаю возникает проблема с URL-кодировкой в которой я получаю массив из переменных для _root

ПОМОГИТЕ! Пожалуйста!

Старый 01.12.2006, 17:34
msdn вне форума Посмотреть профиль Отправить личное сообщение для msdn Найти все сообщения от msdn
  № 7  
Ответить с цитированием
msdn

Регистрация: Jan 2003
Адрес: Kiev
Сообщений: 116
дорогой товарищ, по поводу притензий по ошибкам в моем коде могу сказать следующее, я не пытаюсь сделать все за вас, а просто даю направлени движения, в том то все и дело, что сделать это вточь с вашими требованиями стоит времени, а значит денег. баксов за 100 я бы сделал это в течении 1-2 часов, но так как это делаеете вы и зарабатывете на этом+учитесь, то уж потрудитесь разбираться что к чему, а не лепить тот код что вам дают, понятно что я писал его прямо на форуме и не тестировал.
по поводу вопросов:
1)текстовое поле нужно сделать частью кнопки, разместить его на ней.
если вы не знаете как, то это уже другой вопрос.
2)в вашем случае следует создать 1 кнопку с текстовым полем на ней, а потом её размножить, в соответствии с кол-вом эл-тов массива, накладывая на неё соответствующие надписи, кнопку размножать можно методом duplicateMovieClip().
3)с пробелом поступить так:
закодировать в пхп все надписи на кнопках функцией htmlspecialchars, во флеше использовать текстовое поле с хтмл форматированием. пробелы перекодируются в &nbsp; и все будет ок, как при передаче так и при отображении.

Старый 01.12.2006, 20:24
KrisSys вне форума Посмотреть профиль Отправить личное сообщение для KrisSys Найти все сообщения от KrisSys
  № 8  
Ответить с цитированием
KrisSys

Регистрация: Jul 2005
Сообщений: 6
Спасибо.

Старый 02.12.2006, 02:35
KrisSys вне форума Посмотреть профиль Отправить личное сообщение для KrisSys Найти все сообщения от KrisSys
  № 9  
Ответить с цитированием
KrisSys

Регистрация: Jul 2005
Сообщений: 6
Цитата:
пробелы перекодируются в &nbsp; и все будет ок
Не-а, не выходит ОК-ея! Еще пол-дня убито, а в результате узнаю -
Цитата:
Пары имен/значений должны разделяться амперсандами (&), а вместо пробелов знак (+)
Ну и на кой ляд мне нужно было кодировать в php пробелы в ( &nbsp; ) при помощи htmlspecialchars?!

Уважаемый msdn если Вы заметили, я задаю конкретные вопросы касательно конкретной ситуации. Я не прошу указать «направление движения». Мое незнание AS не дает Вам право гонять меня по ЛОЖНЫМ направлениям дабы поучить уму-разуму! Не можете/не хотите оказать ПОМОЩЬ, не оказывайте «медвежью услугу» - все равно что человеку, который тонет бросать вместо спасательного круга учебник по плаванию...

Уважаемые посетители форума, кто знает, помогите пожалуйста решить задачу!
С благодарностью приму пошаговый план действий, который приведет к реальному воплощению задуманного, если сиё возможно.

PS - если это важно, я НЕ зарабатываю изготовлением сайтов.

Старый 07.12.2006, 01:48
Chas вне форума Посмотреть профиль Отправить личное сообщение для Chas Посетить домашнюю страницу Chas Найти все сообщения от Chas
  № 10  
Ответить с цитированием
Chas
[+1 14.08.08]
[+1 20.08.08]
 
Аватар для Chas

Регистрация: Sep 2002
Адрес: simferopol
Сообщений: 981
Отправить сообщение для Chas с помощью ICQ
гы.
вообще выбраный способ автору топика не очень подходит.
я так понимаю, что количество кнопок будет _динамическое_.
т.е. неудобно в одной флешке делать дубликаты кноп, потому что, размеры флешки константны. ну... я надеюсь, я понятно выразил свою мысль.
второй метод будет намного комфортнее.
тогда каждая кнопа выводится отдельным элементом.
все что нужно для реализации в этом топике уже указано.
для полного счастья откройте поиск и поисчите FlashVars(не обязательна форума флешера), можно поискать в самом хелпе флеша, гугл тоже не обанкротился еще ;-)

воопсче, аффтору советую поумерить пыл.
кинул бы сюда код свой, что использовал, да использовал только один раз, и там много лишнего =/
__________________
~
Never trouble trouble till trouble troubles you!

Создать новую тему Ответ Часовой пояс GMT +4, время: 21:47.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.