我目前正在制作一个有关评分系统的项目,我目前不知道如何处理这个问题,因为我仍在学习。这部分代码是我从互联网上获取的,不是我自己的。
$('#percentage-form').submit(function(e){ e.preventDefault(); $('.pop_msg').remove() var _this = $(this) var total = $('#total').text() total = total.replace(/\%/gi,'') console.log(total) if(parseFloat(total) !== 100) { alert("Total Percentage must be 100%"); return false; } var _el = $('<div>') _el.addClass('pop_msg') $('#uni_modal button').attr('disabled',true) $('#uni_modal button[type="submit"]').text('submitting form...') $.ajax({ url:'./Actions.php?a=save_percentage', method:'POST', data:$(this).serialize(), dataType:'JSON', error:err=>{ console.log(err) _el.addClass('alert alert-danger') _el.text("An error occurred.") _this.prepend(_el) _el.show('slow') $('#uni_modal button').attr('disabled',false) $('#uni_modal button[type="submit"]').text('Save') }, success:function(resp){ if(resp.status == 'success'){ _el.addClass('alert alert-success') $('#uni_modal').on('hide.bs.modal',function(){ location.reload() }) }else{ _el.addClass('alert alert-danger') } _el.text(resp.msg) _el.hide() _this.prepend(_el) _el.show('slow') $('#uni_modal button').attr('disabled',false) $('#uni_modal button[type="submit"]').text('Save') } }) })
我认为函数 save_percentage 适合 sqlite3 而不是我正在使用的。我希望这个代码可以与我的代码一起使用,但我不知道如何。我正在使用 MySql 并在 XAMPP 上运行服务器。 这是 Actions.php 的代码
<?php Class Actions{ function save_percentage(){ extract($_POST); $data = ""; foreach($component_id as $k => $v){ if(!empty($data)) $data .= ", "; $data .= "('$id','{$v}','{$percentage[$k]}')"; } if(!empty($data)) $this->query("DELETE FROM `component_subject_percentage` where `subject_id` = '{$id}'"); $sql = "INSERT INTO `component_subject_percentage` (`subject_id`,`component_id`,`percentage`)VALUES {$data}"; $insert = $this->query($sql); if($insert){ $resp['status'] ='success'; $resp['msg'] = "Data successfully saved"; }else{ $resp['status'] ='failed'; $resp['msg'] = "Data fails to save. Error: ". $this->lastErrorMsg(); $resp['sql'] = $sql; } return json_encode($resp); } } $a = isset($_GET['a']) ?$_GET['a'] : ''; $action = new Actions(); switch($a){ case 'save_percentage': echo $action->save_percentage(); break; default: // default action here break; }
我的 DBConnection.PHP:
<?php $con=mysqli_connect("localhost", "root", "", "resultgrading"); if(mysqli_connect_errno()){ echo "Connection Fail".mysqli_connect_error(); }
好的,我可以用这个修复我的代码: