Переменные в 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>'; |
$query = "INSERT INTO ..." это строка SQL запроса, который может выполнить только сервер, и которого у вас в коде не видно, причем данный запрос возвращает результат вставки, а не нечто из базы. Каким боком к этому всему может иметь клиент посредством var a = "<?php echo $query ?>";?
Что значит видно последний результат, результат чего? |
laimas,
Я скорее всего неправильно сформулировал задачу. Есть таблица на каждого студента, где указано имя курса, его оценка в курсе и третий столбец, где есть возможность отправить результат в другое приложение. Что понимается под последним - по клику send result напротив определенного курса и оценки должен происходить insert в бд нужного курса и нужной оценки. |
Ну не слишком "не так", суть ведь осталась - где сам код запроса?
var a = "<?php echo $query ?>"; console.log(a); отобразит на клиенте текст SQL запроса, что вообще-то должно быть тайной для клиента. Сам то запрос в базу не будет выполняться. |
Понятное дело, что клиенту запрос не должен быть виден - на тестовом сервере хочу в логах видеть, что под нужный курс выполняется нужный запрос.
$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); с нужными параметрами в запросе. |
Ну у вас же задается диалог, если пользователь выберет "да", значит будет переход по ссылке, которая и выполнит запись в базу. А "нет", значит нет. В чем проблема?
|
Проблема в том, что по ссылке открывается профиль пользователя в приложении, а если в онклике конфирмется -> oci_execute, иначе - остается на этой странице
|
А проблема сделать ссылку на "куда следует"? Диалог тот тут причем, куда будет вести ссылка, туда и перейдете.
|
Часовой пояс GMT +3, время: 12:34. |