嗨,大家好,我的编码很困难。我希望有人可以帮我解决我的问题
所以我有这个类(updateProgress.php)从数据库中提取值并在另一个名为data2.php的页面上通过ajax处理它,并在用户按下显示按钮时显示查询(updateProgress.php )。
我在data2.php中拥有的是,
<?php
// IF SHOW KEY HAS BEEN PRESSED
if($_POST['action'] == 'show')
{
$sql = "SELECT * FROM SUB_MASTER_DRAWING
WHERE SUB_MASTER_DRAWING.HEAD_MARK = '{$_POST["hm"]}'";
$query = oci_parse($conn, $sql);
$query_exec = oci_execute($query);
echo "<table border='1'>";
while($row = oci_fetch_assoc($query)){
echo '<div id="content">';
echo '<table cellspacing = "0"';
echo '<tr><th>Head Mark</th>
<th>Cutting</th>
<th>Assembly</th>
<th>Welding</th>
<th>Drilling</th>
<th>Finishing</th>
</tr>';
echo "<tr><td><b>$row[HEAD_MARK]/$row[ID]</b></td>";
if ($row['CUTTING'] == 'Y'){
echo "<td><input type='checkbox' id='cuttingCheckbox' name='cuttingCheckbox' checked='checked' disabled='disabled'/></td>";
} else {
echo "<td><input type='checkbox' id='cuttingCheckbox' name='cuttingCheckbox' onClick='checkboxCheck()' /></td>";
}
?>
所以我的问题是当用户选中复选框时,它应该对数据库进行查询并更新相应的值。我尝试制作javascript函数只是为了检查复选框操作是否在php标签外部工作,但它只是没有做任何事情。
是因为我将所有表查询传递给它以便它不会处理javascript吗?
请帮帮我
答案 0 :(得分:1)
您已经分配了onClick='checkboxCheck()'
的复选框。只需从该javascript函数进行ajax调用,并更新该调用所需的任何值。你可以创建另一个php文件来处理这个ajax调用。
function checkboxCheck() {
var checkbox1 = document.getElementById("cuttingCheckbox");
if (checkbox1.checked) {
alert('CHECKBOX CHECKED');
} else {
alert('CHECKBOX NOT CHECKED');
}
// Make Ajax call here, to call a php file
// which will update the db table
// You will have to pass other relevant variables like row id etc
}
答案 1 :(得分:1)
该代码已准备好进行SQL注入。
答案 2 :(得分:0)
我建议只使用jQuery来处理复选框的点击:
$('#cuttingCheckbox').click(function() { /* function goes here */ });
(或使用mousedown
代替click
)
然后只需要对PHP文件进行简单的AJAX调用。使用jQuery,AJAX非常简单快捷。