Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> JS+PHP+MySQL, Не передаётся переменная 
:(
    Опции темы
Dam
Дата 10.1.2003, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 10.1.2003

Репутация: нет
Всего: нет



Передачу переменной из JS в PHP я организовал следующим образом: юзер кликает по ссылке и запускается JS-функция expanded() с JS-переменной
num. Эта переменная должна передавать ID для запроса к MySQL. MySQL-таблица otrasl_2 содержит 3 поля - первые два поля - IDки, а третье -наименование.

function expanded(num)  {    
  <? for ($i = 0; $i <= 79; $i++): ?>
        if (num == <?=$i?>) {
           <? $query = sprintf("SELECT * FROM otrasl_2 WHERE ID_1_LEVEL=\"%s\"", $i);
           $result = mysql_query($query);
           while ($row = mysql_fetch_row($result)): ?>  
           document.write(<? echo $row[2]?> "<BR>");
           <? endwhile; ?>
     }
  <? endfor; ?>  
}

Эта функция работает только тогда, когда JS выводит IDки:
document.write(<? echo $row[0]?> "<BR>");     или
document.write(<? echo $row[1]?> "<BR>");
Если же написать
document.write(<? echo $row[2]?> "<BR>");
то выдаётся ошибка JS "Ошибка в 3000-какой-то строке (хотя их у меня всего 150)". Т.е. наименование не передаётся. Почему?
PM MAIL   Вверх
Sardar
Дата 10.1.2003, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 4
Всего: 317



Работать не будет!!!

Java Script выполняется на стороне пользователя, вто время как PHP на сервере.
Пользователю придет нечто подобное:
Код

function expanded(num)  {    
     if (num == 0) {
       document.write("Otvet MySQL_0" "<BR>");
       ...
       document.write("Otvet MySQL_n" "<BR>");
       document.write("Otvet MySQL_79" "<BR>");
    }
     if (num == 1) {
       document.write("Otvet MySQL_0" "<BR>");
       ...
       document.write("Otvet MySQL_n" "<BR>");
       document.write("Otvet MySQL_79" "<BR>");
    }
...
     if (num == 79) {
       document.write("Otvet MySQL_0" "<BR>");
       ...
       document.write("Otvet MySQL_n" "<BR>");
       document.write("Otvet MySQL_79" "<BR>");
    }

}

Ты выкладываеш всю базу данных в функции JS!!!
Хотя если я ошибаюсь то поправте  :)  :)  :)


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Sardar
Дата 10.1.2003, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 4
Всего: 317



Почему нельзя по человечески отсылать ID через форму на твой скрипт и он бы выводил те данные которые нужны?  ;-)


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Dam
Дата 10.1.2003, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 10.1.2003

Репутация: нет
Всего: нет



Дело в том, что в моей проге нежелательно отправление формы, а чтобы лишние данные не пересылать клиенту, я сделал обработку на стороне сервера.
PM MAIL   Вверх
jamper
Дата 15.1.2003, 08:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 26.12.2002

Репутация: нет
Всего: нет



Цитата(Dam @ 10.1.2003, 12:27)
Дело в том, что в моей проге нежелательно отправление формы, а чтобы лишние данные не пересылать клиенту, я сделал обработку на стороне сервера.

Попробуй коннектиться к бд непосредственно от клиента, но скорее всего это тебя не сильно устроит.

Можешь завести отдельный фрейм, в который при нажатии на ссылку загружать php сценарий, тогда не придется перегружать всю страницу

Но проще всего при нажатии на ссылку перегрузить всю страницу
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0450 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.