Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: передача результата выполнения .php в javascript
 
 автор: Medulla   (20.07.2007 в 14:24)   письмо автору
 
 


<?php
$query 
"SELECT id_post, post, post_full, date_format(date,'%e.%m.%Y %H:%i') as newdate FROM post_work ORDER BY date DESC LIMIT 1" or die (mysql_error());
$result mysql_query($query);
$row mysql_fetch_assoc($result);
echo  
"<tr><td> ".stripslashes($row['post'])."".' '."".$row['newdate']."</td></tr>";
echo 
'<tr ><td> <a href="all.php?id_post='.$row['id_post'].'">подробнее</a></td></tr>';
mysql_close($connection);
?>


как передать результат выполнения .php в javascript?


var news=new Array()
news[0]="результат выполнения скрипта"

   
 
 автор: malish   (20.07.2007 в 14:32)   письмо автору
 
   для: Medulla   (20.07.2007 в 14:24)
 

с помощью echo..

<?php
$query 
"SELECT id_post, post, post_full, date_format(date,'%e.%m.%Y %H:%i') as newdate FROM post_work ORDER BY date DESC LIMIT 1" or die (mysql_error());
$result mysql_query($query);
echo 
"<script>\n";
echo 
"var news = new Array();\n";
while(
$row mysql_fetch_assoc($result)) echo  "news[] = ".$row['post']."\n";
echo 
"</script>";
mysql_close($connection);
?> 


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

   
 
 автор: Medulla   (20.07.2007 в 15:29)   письмо автору
 
   для: malish   (20.07.2007 в 14:32)
 

спасибо большое, но я уже так пробовала. не получается. даже простейший пример :

<script language=JavaScript>
var speed=9600
<?php $news"тест"?>
var news = new Array(); 
news[0]="<? echo "$news"?>"
news[1]="СКРИПТ2"


вот код:


<body leftmargin="0" onload="start_news();">
<table style="text-align: left; width: 160px;" border="1" cellpadding="0" cellspacing="0">
  <tbody>
    <tr>
      <td style="height: 53px;" ></td>
    </tr>
    <tr>
      <td style="vertical-align: middle; text-align: justify;">
      <table style="text-align: left; width:100%; height: 180px;" border="1" cellpadding="0" cellspacing="0">
        <tbody>
     
<tr>
<td height="100%" >

<div align="center" id="ickertape">
<div align="center" class="subtickertapefont" id="subtickertape"><strong> Загрузка...</strong> 
</div>
</div>
<script language=JavaScript>
<!-- // скорость смены ссылок
var speed=9600

var news = new Array(); 
 news[0]="скрипт2"
news[1]="СКРИПТ2"
i=0
if (document.all)
tickerobject=document.all.subtickertape.style
else
tickerobject=document.tickertape.document
function regenerate(){
window.location.reload()
}
function regenerate2(){
if (document.layers)
setTimeout("window.onresize=regenerate",450)
}
function update(){
BgFade(0xff,0xff,0xff, 0x00,0x00,0x00,10);
if (document.layers){
document.tickertape.document.subtickertape.
document.write('<span class="subtickertapefont" >'+news[i]+'</span>')
document.tickertape.document.subtickertape.
document.close()
}
else 
document.all.subtickertape. innerHTML=news[i]
if (i<news.length-1)
i++
else
i=0
setTimeout("update()",speed)
}
function BgFade(red1, grn1, blu1, red2, grn2, blu2, steps) {
sred = red1; 
sgrn = grn1; 
sblu = blu1; 
ered = red2; 
egrn = grn2; 
eblu = blu2; 

inc = steps; 
step = 0; 
RunFader();
}
function RunFader() {
var epct = step/inc; 
var spct = 1 - epct; 
if (document.layers)
tickerobject.bgColor =
Math.floor(sred * spct + ered *
epct)*256*256 +
Math.floor(sgrn * spct + egrn * epct)*256 +
Math.floor(sblu * spct + eblu * epct); 
else
tickerobject.greygroundColor=
Math.floor(sred * spct + ered *
epct)*256*256 +
Math.floor(sgrn * spct + egrn * epct)*256 +
Math.floor(sblu * spct + eblu * epct); 
if ( step < inc ) {
setTimeout('RunFader()',50); 
}
step++;
}
function start_news()
{
if (document.all||document.layers){
regenerate2();update()}
}
-->
</script>

   
 
 автор: Medulla   (20.07.2007 в 15:33)   письмо автору
 
   для: Medulla   (20.07.2007 в 15:29)
 

работает только так:

<script language=JavaScript> 
var speed=9600 
var news = new Array();  
news[0]="Скрипт" 
news[1]="СКРИПТ2" 

   
 
 автор: testdriver   (20.07.2007 в 15:37)   письмо автору
 
   для: Medulla   (20.07.2007 в 15:29)
 

у вас что в исходной странице выводиться? в сам итоговый HTML результат PHP выводиться?
или получаеться пустая страница:

<script language=JavaScript> 
var speed=9600 
<?php $news"тест"?> 
var news = new Array();  
news[0]="" // т.е. вот тут совершенно пусто??? 
news[1]="СКРИПТ2"


а если так строчку заменить:

news[0]="<? echo "1"?>"


результат выводиться? т.е. единица должна быть отображена

   
 
 автор: Medulla   (20.07.2007 в 15:45)   письмо автору
 
   для: testdriver   (20.07.2007 в 15:37)
 

выводится слово "загрузка" и значок ошибки javascript.

единица не отображена. ошибка javascript.

все остальные скрипты php на странице работают.

   
 
 автор: testdriver   (20.07.2007 в 15:55)   письмо автору
 
   для: Medulla   (20.07.2007 в 15:45)
 

>выводится слово "загрузка" и значок ошибки javascript.
Вы посмотрите что в исходном html коде (прав кнопка мыши->просмотр в виде html^1)
>все остальные скрипты php на странице работают.
PHP-скрипты работают не на странице а на сервере^1, но это не важно, важно то что не совсем понятно что у вас не работает или функция echo результат не выводит или просто JavaScript не правильно работает, но это уже на другой форум наверное надо идти.
----
1. заранее извиняюсь если вам все это и без меня известно :)

   
 
 автор: Medulla   (23.07.2007 в 09:23)   письмо автору
 
   для: testdriver   (20.07.2007 в 15:55)
 

более простой/корректный js.

<script language="JavaScript">
 var arrTexts, index = 0;
 function preloadTexts() {arrTexts = preloadTexts.arguments;}
 function rotate()
 {
  document.getElementById("ZZZ").innerText = arrTexts[index];
  index++;
  if (index>=arrTexts.length) {index = 0;}
  // задержка 1 сек= 1000
  setTimeout("rotate()", 1000)
 }
<?
$a
=111;
$b=222;

?>

preloadTexts(<?php  echo "$a"?> , (<?php  echo "$b"?> );  
</script>

<body onload="rotate()">
<table  border="0" width="88" height="31" bgcolor="#40E0D0" cellpadding="1" cellspacing="0" style="cursor:hand">
 <tr>
 <th>
  <table border="0" width="100%" height="100%" bgcolor="#c9ba31" cellpadding="0" cellspacing="1">
  <tr>
  <th bgcolor="#40E0D0">
  

 <a href="http://www.1111.com" title="1: http://www.1.com"><span id="ZZZ" style="font-size:10">ссылка</span></a>
  </th>
  </tr>
  </table>
 </th>
 </tr>
</table>
</body>


проблема с выводом из массива (одно значение).

<?
include "config_post.php";

$query "SELECT id_post, post, post_full, date_format(date,'%e.%m.%Y %H:%i') as newdate FROM post_work ORDER BY date DESC LIMIT 1" or die (mysql_error());
$result mysql_query($query);
$row mysql_fetch_assoc($result)
?>
preloadTexts(<? echo ".$row['post']."?><? echo "$1111";  ?>);


undefined index post

   
 
 автор: Medulla   (23.07.2007 в 09:44)   письмо автору
 
   для: Medulla   (23.07.2007 в 09:23)
 

вопрос решен)

<?

include "config_post.php";
$query = "SELECT id_post, post, post_full, date_format(date,'%e.%m.%Y %H:%i') as newdate FROM post_work ORDER BY date DESC LIMIT 1" or die (mysql_error());
$result = mysql_query($query);
while ($row = mysql_fetch_assoc($result))

$new = $row['post'] . ' ' . $row['newdate'];  
?> 
preloadTexts ("<? echo "$new"?>", "<? echo "$new"?>");
<? ?> 
</script>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования