Я пытаюсь создать встроенную функцию редактирования в своей таблице, пользователь должен иметь возможность повторно указывать значения и нажать кнопку «Сохранить», чтобы обновить запись базы данных.PHP inline editing - Javascript Function
Я столкнулся с проблемой с функцией javascript, не возвращая меня на следующую страницу в соответствии с «window.location.href», которая была бы страницей обновления php update, которая вернет меня на исходную страницу для просмотра сделанных изменений.
Функция javascript предназначена для получения старого идентификатора и всех возможных новых td внутри записи, которые пользователь может редактировать внутри.
У меня было это для самого идентификатора, но с добавлением всех новых значений, Ive перепутал либо с функцией js, либо с действием, но (может ли это «?») Не совсем точно. Я знаю, что mysql - это мусор и т. Д., В то время я фокусируюсь на функциональности.
JS ФУНКЦИЯ
function edit_user(id,a,b,c,d,e,f,g,h,i,j,k) {
var tr = a.parentNode.parentNode;
var awb = String(tr.querySelector(".a").innerHTML);
var tb = b.parentNode.parentNode;
var del = String(tb.querySelector(".b").innerHTML);
var tc = c.parentNode.parentNode;
var vsl = String(tc.querySelector(".c").innerHTML);
var td = d.parentNode.parentNode;
var cli = String(td.querySelector(".d").innerHTML);
var te = e.parentNode.parentNode;
var pcs = String(te.querySelector(".e").innerHTML);
var tf = f.parentNode.parentNode;
var wgt = String(tf.querySelector(".f").innerHTML);
var tg = g.parentNode.parentNode;
var car = String(tg.querySelector(".g").innerHTML);
var th = h.parentNode.parentNode;
var snd = String(th.querySelector(".h").innerHTML);
var ti = i.parentNode.parentNode;
var stt = String(ti.querySelector(".i").innerHTML);
var tj = j.parentNode.parentNode;
var ard = String(tj.querySelector(".j").innerHTML);
var tk = k.parentNode.parentNode;
var ctm = String(tk.querySelector(".k").innerHTML);
// run query on server:
window.location.href = 'http://at-web2.comp.glam.ac.uk/students/14075377/14075377/php/edit-livedashboard-import.php?id='+id+'&newawb='+awbno+'&newvsl='+vsl+'&newcli='+cli+'&newpcs='+pcs+'&newwgt='+wgt+'&newcar='+car+'&newsnd='+snd+'&newstt='+stt+'&neward='+ard;;
return false;}
ТАБЛИЦА ДЕЙСТВИЯ КНОПКА
$awb = $get_info["AwbNo"];
echo "<a href='' onclick='return edit_user($awb,here,here,here,here,here,here,here,here,here);'> Save </a>";
PHP UPDATE
include("../dbinfo.inc.php");
[email protected]_connect(localhost,$username,$password);
[email protected]_select_db($database) or die("Unable to select database");
$id = $_GET['id'];
$newawb = $_GET['awbno'];
$newvsl = $_GET['vsl'];
$newcli = $_GET['cli'];
$newpcs = $_GET['pcs'];
$newwgt = $_GET['wgt'];
$newcar = $_GET['car'];
$newsnd = $_GET['snd'];
$newstt = $_GET['stt'];
$neward = $_GET['ard'];
$sql = "UPDATE tbl_import SET AwbNo='$newawb',ClientCode='$newcli',VesselName='$newvsl',Pieces='$newpcs',Weight='$newwgt',Carrier='$newcar',Sender='$newsnd',Status='$newstt',ArrivalDate='$neward',WHERE AwbNo='$id';";
echo ("id=$id,awb=$newawb,vsl=$newvsl,cli=$newcli,pcs=$newpcs,wgt=$newwgt,car=$newcar,send=$newsnd, status=$newstt, date=$neward .\n\n\n");
mysql_query($sql)or die("Update Error: ".mysql_error());
mysql_close();
//commented header so can see echoed vals sent from js
//header("Location: ../livedashboard.php"); //redirect to relevant page
Вы слышали о петлях? – jcaron
Также ** SQL injection alert **. Этот код подвержен SQL-инъекциям, что является очень серьезной проблемой безопасности. И он использует функции mysql_ *, которые устарели. – jcaron