Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.12.2015, 11:59
Новичок на форуме
Отправить личное сообщение для lebydev Посмотреть профиль Найти все сообщения от lebydev
 
Регистрация: 16.09.2015
Сообщений: 6

Переменные в js и php
Добрый день,

Помогите разобраться:
Имеется запрос вставки данных в таблицу БД, некоторые параметры динамические. По клику на ссылку должна происходить вставка в БД нужного результата, однако выходит только последний результат. Ниже приведён код:
$query = "INSERT INTO education(employee_id, education_type_id, institution_id, course_name, period_from, period_till, education_document_id) VALUES($row[0], 2001134, 2001142, $coursename, $startdateresult, $enddateresult, 2001149)";

<script>
function sendResult() {
var a = "<?php echo $query ?>";
console.log(a);
alert('Submitted');
}
</script>

$link = '<a href = "https://somelink='.$row[0].'" target = "_blank" onClick = "sendResult()">Send result</a>';
Ответить с цитированием
  #2 (permalink)  
Старый 04.12.2015, 13:55
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

$query = "INSERT INTO ..." это строка SQL запроса, который может выполнить только сервер, и которого у вас в коде не видно, причем данный запрос возвращает результат вставки, а не нечто из базы. Каким боком к этому всему может иметь клиент посредством var a = "<?php echo $query ?>";?

Что значит видно последний результат, результат чего?
Ответить с цитированием
  #3 (permalink)  
Старый 04.12.2015, 14:09
Новичок на форуме
Отправить личное сообщение для lebydev Посмотреть профиль Найти все сообщения от lebydev
 
Регистрация: 16.09.2015
Сообщений: 6

laimas,
Я скорее всего неправильно сформулировал задачу.

Есть таблица на каждого студента, где указано имя курса, его оценка в курсе и третий столбец, где есть возможность отправить результат в другое приложение. Что понимается под последним - по клику send result напротив определенного курса и оценки должен происходить insert в бд нужного курса и нужной оценки.
Ответить с цитированием
  #4 (permalink)  
Старый 04.12.2015, 15:17
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Ну не слишком "не так", суть ведь осталась - где сам код запроса?

var a = "<?php echo $query ?>";
console.log(a);

отобразит на клиенте текст SQL запроса, что вообще-то должно быть тайной для клиента. Сам то запрос в базу не будет выполняться.
Ответить с цитированием
  #5 (permalink)  
Старый 04.12.2015, 15:41
Новичок на форуме
Отправить личное сообщение для lebydev Посмотреть профиль Найти все сообщения от lebydev
 
Регистрация: 16.09.2015
Сообщений: 6

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

$startdate = $course->startdate;
$startdateresult = date('d:M:Y', $startdate);

$enddate = $course->enddate;
$enddateresult = date('d:M:Y', $enddate);

$query = "INSERT INTO education(employee_id, education_type_id, institution_id, course_name, period_from, period_till, education_document_id) VALUES($row[0], 2001134, 2001142, $coursename, $startdateresult, $enddateresult, 2001149)";
$stid = oci_parse($conn, $query);

$link = '<a href = "https://somelink='.$row[0].'" target = "_blank" onclick="return confirm(\'Send result?\')">Send result</a>';

Немного изменил, но всё равно не понимаю как правильно добавить в onclick условие, если подтверждается отправка результата, то выполняем: oci_execute($stid, OCI_DEFAULT); с нужными параметрами в запросе.
Ответить с цитированием
  #6 (permalink)  
Старый 04.12.2015, 16:33
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Ну у вас же задается диалог, если пользователь выберет "да", значит будет переход по ссылке, которая и выполнит запись в базу. А "нет", значит нет. В чем проблема?
Ответить с цитированием
  #7 (permalink)  
Старый 07.12.2015, 14:52
Новичок на форуме
Отправить личное сообщение для lebydev Посмотреть профиль Найти все сообщения от lebydev
 
Регистрация: 16.09.2015
Сообщений: 6

Проблема в том, что по ссылке открывается профиль пользователя в приложении, а если в онклике конфирмется -> oci_execute, иначе - остается на этой странице
Ответить с цитированием
  #8 (permalink)  
Старый 07.12.2015, 15:36
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

А проблема сделать ссылку на "куда следует"? Диалог тот тут причем, куда будет вести ссылка, туда и перейдете.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача значений нескольких параметров из js в php TomTykver AJAX и COMET 2 13.05.2015 22:19
Senior JS (node.js + mongodb + angular.js) + PHP (Одесса) greebn9k Работа 0 21.04.2015 01:20
Как добавить результаты работы скрипта в переменные PHP? Hurray Events/DOM/Window 1 03.11.2013 15:29
из массива json в (php) переменные Sadist_dead AJAX и COMET 6 24.08.2011 22:58
Суперглобальные PHP увидеть в JS Robox Общие вопросы Javascript 4 10.06.2010 15:49