04.12.2015, 11:59
|
Новичок на форуме
|
|
Регистрация: 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>';
|
|
04.12.2015, 13:55
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
$query = "INSERT INTO ..." это строка SQL запроса, который может выполнить только сервер, и которого у вас в коде не видно, причем данный запрос возвращает результат вставки, а не нечто из базы. Каким боком к этому всему может иметь клиент посредством var a = "<?php echo $query ?>";?
Что значит видно последний результат, результат чего?
|
|
04.12.2015, 14:09
|
Новичок на форуме
|
|
Регистрация: 16.09.2015
Сообщений: 6
|
|
laimas,
Я скорее всего неправильно сформулировал задачу.
Есть таблица на каждого студента, где указано имя курса, его оценка в курсе и третий столбец, где есть возможность отправить результат в другое приложение. Что понимается под последним - по клику send result напротив определенного курса и оценки должен происходить insert в бд нужного курса и нужной оценки.
|
|
04.12.2015, 15:17
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Ну не слишком "не так", суть ведь осталась - где сам код запроса?
var a = "<?php echo $query ?>";
console.log(a);
отобразит на клиенте текст SQL запроса, что вообще-то должно быть тайной для клиента. Сам то запрос в базу не будет выполняться.
|
|
04.12.2015, 15:41
|
Новичок на форуме
|
|
Регистрация: 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); с нужными параметрами в запросе.
|
|
04.12.2015, 16:33
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Ну у вас же задается диалог, если пользователь выберет "да", значит будет переход по ссылке, которая и выполнит запись в базу. А "нет", значит нет. В чем проблема?
|
|
07.12.2015, 14:52
|
Новичок на форуме
|
|
Регистрация: 16.09.2015
Сообщений: 6
|
|
Проблема в том, что по ссылке открывается профиль пользователя в приложении, а если в онклике конфирмется -> oci_execute, иначе - остается на этой странице
|
|
07.12.2015, 15:36
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
А проблема сделать ссылку на "куда следует"? Диалог тот тут причем, куда будет вести ссылка, туда и перейдете.
|
|
|
|