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]   

> Без описания
OgStyle
Отправлено: 07 Ноября, 2012 - 14:26:10
Post Id


Гость


Покинул форум
Сообщений всего: 86
Дата рег-ции: Март 2012  


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




Здравствуйте. Имеется такая ситуация. Есть мини чат который написан на jquery. Он имеет автообновление на каждые 15 секунд или по желанию пользователя. Есть код на пхп и соответственно джава скрипт. Вот кусочек пхп кода

PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. $numrows = dbcount("(shout_id)", DB_SHOUTBOX);
  4. $result = dbquery(
  5.         "SELECT ts.*, tu.user_id, tu.user_name, user_avatar FROM ".DB_SHOUTBOX." ts
  6.         LEFT JOIN ".DB_USERS." tu ON ts.shout_name=tu.user_id
  7.         ORDER BY ts.shout_datestamp DESC LIMIT 0,".$settings['numofshouts']
  8. );
  9. echo "<div id='shout_messages'>";
  10. if (dbrows($result)) {
  11.         $i = 0;
  12.         while ($data = dbarray($result)) {
  13.                 echo"<div style='margin-left:5px;'>";
  14.                 echo"<div style='width:211px; height:14px; ".($i% 2==0?" background:#3a2300; border:1px #211400 solid; ":"background:#563602; border:1px #392301 solid;")."'><span style='padding-top:1px; padding-left:4px;'><a href='".BASEDIR."profile.php?lookup=".$data['shout_name']."' class='side'>".$data['user_name']."</a> </span><span style='float:right; margin-right:4px; color:#99c703; font-size:10px;'>".showdate("shortdate", $data['shout_datestamp'])."</span></div>";
  15.                 echo"<div style='width:206px; margin-top:2px; padding-left:5px; padding-bottom:5px; margin-bottom:10px;".($i% 2==0?" background:#3a2300; border:1px #211400 solid; ":"background:#563602; border:1px #392301 solid;")." '>";
  16.                 echo"<div style='margin-top:-10px;'>";
  17.         if (!empty($data['user_avatar']) && file_exists(IMAGES."avatars/".$data['user_avatar'])){
  18.                 echo "
  19.                 <img height='30' width='30' style='padding-top:15px; float:left; margin-right:5px;' src='".IMAGES."avatars/".$data['user_avatar']."' alt='".$data['user_name']."' />&nbsp;";
  20.                 }else{
  21.                 echo "
  22.                 <img height='30' width='30' style='padding-top:15px; float:left;' src='".IMAGES."noav.gif' alt='".($data['user_name'] ? $data['user_name'] : $data['comment_name'])."' />&nbsp;";               }
  23.                 echo"</div>";
  24.                
  25.                 echo "<div id='shout_".$data['shout_id']."'>";
  26.                
  27.                 echo "<div style='color:#a18851;'>".sbwrap(parseubb(parsesmileys($data['shout_message']), "b|i|u|url|color"))."</div>\n";
  28.                
  29.                 if ((iADMIN && checkrights("S")) || (iMEMBER && $data['shout_name'] == $userdata['user_id'] && isset($data['user_name']))) {
  30.                         echo "
  31.                         <div style='float:right; margin-right:5px;'>
  32.                         <a href='".$link.$sep."s_action=edit&shout_id=".$data['shout_id']."#edit_shout"."' style='margin-left:25px;'><img src='/images/edit.gif'></a>\n
  33.                         <a href='".$link.$sep."s_action=delete&shout_id=".$data['shout_id']."' class='side'><img src='/images/dele.png'></a></div>\n";
  34.                 }
  35.                 $i++;
  36.                 if ($i != $numrows) { echo "<br />\n"; }
  37.                 echo "</div></div>
  38.                 </div>
  39.                 ";
  40.                
  41.         }
  42.  
  43.  
  44.  


В нем я вывел все как мне надо. Тоесть из базы данных выводится имя дата текст и также аватар пользователя. Перменная эта называется $data['user_avatar']

Вопрос состоит в том как её отобразить в ДЖАВА скрипте. Дизайн чата как в пхп файле я настроил. а вот как вывести туда эту переменную с аватаром я не знаю. Кому не сложно подсказать? вот вырезка из кода джава скрипта где выводится дизайн чата и сообщение с датой и именем пользователя.

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. function prepare_messages(data) {
  3.         var i = 0;
  4.         $("shout",data).each(function(id) {
  5.                 var shout = $("shout",data).get(id);
  6.                 if($("authoruname",shout).text() == "") {
  7.                         var author = $("authorname",shout).text();
  8.                 } else {
  9.                 if(i%2==0)
  10.                 {
  11.                         var author = "<div style='margin-left:5px; font-weight:normal; width:207px; height:14px; background:#3a2300; border:1px #211400 solid; padding-left:4px;><span style='padding-top:1px; '><a href='"+basedir+"profile.php?lookup="+$("authorname",shout).text()+"' class='side'>"+$("authoruname",shout).text()+"</a></span><span style='float:right; margin-right:4px; color:#99c703; font-size:10px;'>"+$("datestamp",shout).text()+"</span></div>";
  12.                 }
  13.                 else{
  14.                 var author = "<div style='margin-left:5px; font-weight:normal; width:207px; height:14px; background:#563602; border:1px #392301 solid; padding-left:4px;><span style='padding-top:1px;'><a href='"+basedir+"profile.php?lookup="+$("authorname",shout).text()+"' class='side'>"+$("authoruname",shout).text()+"</a></span><span style='float:right; margin-right:4px; color:#99c703; font-size:10px;'>"+$("datestamp",shout).text()+"</span></div>";
  15.                 }
  16.                 }
  17.                 if($("access",shout).text() == 1) {
  18.                         var actions = "<a href='javascript:edit_message("+$("shoutid",shout).text()+");' class='side'><img src='/images/edit.gif'></a> <a href='javascript:delete_message("+$("shoutid",shout).text()+");' class='side'><img src='/images/dele.png'></a><br />";
  19.                 } else {
  20.                         var actions = "";
  21.                 }
  22.                 if(i == 0) { var br = ""; var br2 = "<br />"; } else if(i == 1) { var br = ""; var br2 = "";} else { var br = "<br />"; var br2 = ""; }
  23.                
  24.                 if(i%2==0)
  25.                 {$("#shout_messages").append("<div id='shout_"+$("shoutid",shout).text()+"'>"+br+"<div class='shoutboxname'>"+author+"</div>"
  26.                        
  27.                         +"<div style='margin-left:5px; width:206px; margin-top:2px; padding-left:5px; padding-bottom:5px; margin-bottom:10px; background:#3a2300; border:1px #211400 solid;><div class='shoutbox'><font color='#a18851'>"+$("message",shout).text()+"</font><div style='float:right; margin-right:5px;'>"+actions+br2+"</div></div></div></div>");
  28.                 }
  29.                 else{
  30.                 $("#shout_messages").append("<div id='shout_"+$("shoutid",shout).text()+"'>"+br+"<div class='shoutboxname'>"+author+"</div>"
  31.                        
  32.                         +"<div style='margin-left:5px; width:206px; margin-top:2px; padding-left:5px; padding-bottom:5px; margin-bottom:10px; background:#563602; border:1px #392301 solid;><div class='shoutbox'><font color='#a18851'>"+$("message",shout).text()+"</font><div style='float:right; margin-right:5px;'>"+actions+br2+"</div></div></div></div>");
  33.                
  34.                 }
  35.                 i++;
  36.         });
  37.         delete data;
  38. }
  39.  
  40.  


Для наглядности о чем идет речь посмотрите на этом сайте - mine-news.ru Там в самом низу есть миничат о котором я говорю. При заходе вы увидите нужный дизайн. а если нажмете на кнопку обновить или подождете 15 секунд то увидите все тоже только без аватаров пользователей..Именно в этом и проблема о которой я написал выше.
 
 Top
OgStyle
Отправлено: 07 Ноября, 2012 - 21:57:45
Post Id


Гость


Покинул форум
Сообщений всего: 86
Дата рег-ции: Март 2012  


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




Ребята ау!! помогите пожайлусто! очень нужно. Если кто не понял проблемы могу еще раз обьяснить..
 
 Top
Bio man
Отправлено: 07 Ноября, 2012 - 22:23:44
Post Id


Постоянный участник


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


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




Зачем столько не нужного кода?
Для чата используешь jQuery, ну так используй $.ajax для обновления состояния.

Код просто ужасен, говнокод в куче Плач Не понял и огорчён

Как минимум нужно отделить хотя бы представление (с фронт и бек ендов)
 
 Top
OgStyle
Отправлено: 07 Ноября, 2012 - 22:28:17
Post Id


Гость


Покинул форум
Сообщений всего: 86
Дата рег-ции: Март 2012  


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




в том то и дело что код писал не я)) согласен что он сложный и не нужный, но все-же можно получить готовый вариант? Вы можете предложить конкретно как сделать то что я описал выше! Буду вам очень благодарен если сможете помочь.
 
 Top
OgStyle
Отправлено: 08 Ноября, 2012 - 09:45:34
Post Id


Гость


Покинул форум
Сообщений всего: 86
Дата рег-ции: Март 2012  


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




Ребята помогите со скриптом!! Могу предложить за помощь 60 рублей. все что нужно передать перменную которая обьявлена и имеет значение в пхп файле в джаваскрипт файл..
 
 Top
Zuldek
Отправлено: 08 Ноября, 2012 - 09:49:51
Post Id


Постоянный участник


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


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




Цитата:
передать перменную которая обьявлена и имеет значение в пхп файле в джаваскрипт файл.

CODE (htmlphp):
скопировать код в буфер обмена
  1. <script>
  2. function test(){
  3. var i = <?=$test?>
  4. }
  5. </script>

(Отредактировано автором: 08 Ноября, 2012 - 09:50:58)

 
 Top
OgStyle
Отправлено: 08 Ноября, 2012 - 12:01:27
Post Id


Гость


Покинул форум
Сообщений всего: 86
Дата рег-ции: Март 2012  


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




Не получается вышепреведенным образом.. Напомню еще раз ребята. В пхп файле есть перменная $data['user_avatar'] мне нужно её содержимое вывести в javascript файле..
(Добавление)
Впринципи вывести в джава скрипте смог. но при выводе пишет [object][OBJECT] тоесть как я догадываюсь оно не знает что в средине . Но в этой переменной находится картинка. так что кто подскажет что делать дальше?
 
 Top
imper
Отправлено: 08 Ноября, 2012 - 12:47:44
Post Id



Частый гость


Покинул форум
Сообщений всего: 134
Дата рег-ции: Февр. 2012  
Откуда: Тольятти


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

[+]


вызови асинхронно пхп скрипт передавая скрипту через get либо post свою переменную эту,
я в jQuery не силён так что как я понимаю используй $.ajax


-----
Самое лучшее решение проблемы
самое простое
 
 Top
OgStyle
Отправлено: 08 Ноября, 2012 - 13:05:59
Post Id


Гость


Покинул форум
Сообщений всего: 86
Дата рег-ции: Март 2012  


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




Ребята мне бы конкретно(( я не понимаю как и что использовать.. можно было бы написать просто готовый код который бы я вставил. или хотябы как-то частично чтобы зацепиться..
 
 Top
caballero
Отправлено: 08 Ноября, 2012 - 14:27:46
Post Id


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


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


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




Цитата:
Но в этой переменной находится картинка.

это каким макаром она там находится?


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
OgStyle
Отправлено: 08 Ноября, 2012 - 14:35:28
Post Id


Гость


Покинул форум
Сообщений всего: 86
Дата рег-ции: Март 2012  


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




ну я не совсем корректно выразился) да она там не находится. там должно находится название картинки для конкретного пользователя. В любом случае у меня в этой переменной нет никакого названия а просто выводится [object OBJECT]

вот какой код есть сейчас в джава скрипте

CODE (javascript):
скопировать код в буфер обмена
  1. var avatar = $("user_avatar",data);


это переменная аватар значение которой равно переменной в пхп файле $data['user_avatar']

ну и там где мне надо я вывожу ее в джава скрипте
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. <img src='http://mine-news.ru/images/avatars/"+avatar+"'>
  3.  


но по прежнему ничего не работает так как переменная аватар получает значение [object OBJECT]
 
 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