[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Передать переменную из цикла РНР в JS скрипт
ant3627
У меня почти получилось. Вывожу из базы мини картинки в таблицу, при наведении на мини копию открывается новое окно с заданными параметрами, где должны загружаться большое фото. проблема в том, что все мини копии ссылаются на одну последнюю фоту. О JS имею только общее представление, не пинайте сильно.
вот код:

<?
while ($ath= mysql_fetch_array($res))
{
$bfoto= $ath['bfoto'];
$mfoto= $ath['mfoto'];
$foto='bfoto/'.$bfoto;

?>
<script
language="JavaScript">//функция для открытия нового окна

function open02(foto)
{
msgWindow= open("<? echo $foto; ?>","displayWindow",
"width=450,height=300,titlebar=0,alwaysLowered=0,alwaysRaised=0,resizable=1,status=0,toolbar=0,menubar=0,scrollbars=no,dependent=0,hotkeys=0,screenY=200")
}
var foto = "<? echo $foto; ?>";
</script>
<?

echo '
<tr>
<td width="100" height="100" rowspan="2">

<a href="" onMouseOver="open02(foto)"><img src="mfoto/'
.$mfoto.'"></a>
</td>
</tr>'
;
}
?>

Почему переменная в таблице меняется, а в функции JS нет?
И еще, если функция находится в head, то даже последняя переменная в нее не попадает. ? .



Спустя 8 минут, 20 секунд (28.04.2011 - 10:18) waldicom написал(а):
Функция определяется в цикле (много раз) с одним и тем же именем?

Спустя 53 минуты, 28 секунд (28.04.2011 - 11:11) Dezigo написал(а):
Код ужасен.
1. В JS вставки php. (темболее в body)
2. Функция JS в цикле. (никогда так не делай)
3. Ненужные определения.
$bfoto= $ath['bfoto'];
$mfoto= $ath['mfoto'];

Просто вынеси функцию JS в <head> ..JS </head>, и в цикле подавай аргументы.
Остальное удали.

Спустя 1 час, 29 минут, 43 секунды (28.04.2011 - 12:41) ant3627 написал(а):
Функция повторяется с одним и тем же именем.
Согласен, что код ужасен.
передавать в цикле аргументы у меня как раз и не получается - не понимаю и нигде не нашел объяснений - в этом и состоит мой вопрос?

Спустя 9 минут, 50 секунд (28.04.2011 - 12:51) Ser18 написал(а):
Лучше так пишите
mysql_fetch_array($res, MYSQL_ASSOC); 

или
mysql_fetch_assoc($res);


А то так вы получаете два массива (ассоциативный и индексный)
mysql_fetch_array($res);

Спустя 16 минут, 19 секунд (28.04.2011 - 13:07) ant3627 написал(а):
Количество массивов меня пока мало волнует. Мне надо данные из этих массивов передать в функцию JS ???

Спустя 1 день, 21 час, 4 минуты, 55 секунд (30.04.2011 - 10:12) ant3627 написал(а):
Все оказалось банально просто.
Пишу, может кому пригодится.

<a href="" onMouseOver=\'window.open("'.$foto.'", "newWin", "width=450,height=450,titlebar=0,alwaysLowered=0,alwaysRaised=0,resizable=0,status=0,toolbar=0,menubar=0,scrollbars=no,dependent=0,hotkeys=0,top=200,left=300")\'><img src="mfoto/'.$mfoto.'" >
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.