Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Đặt văn bản đầu vào số tối đa từ cơ sở dữ liệu trong php / javascript

Có 3 cách để giải quyết nó:

  • Chuyển thông tin tối đa sang giao diện người dùng
  • Kiểm tra khi người dùng gửi
  • Kiểm tra dữ liệu không đồng bộ, như Jquery ajax

Chuyển thông tin tối đa sang giao diện người dùng

Chỉ cần đặt thông tin tối đa của bạn vào một số khu vực ẩn và sử dụng javascript để lấy và kiểm tra điều đó.

function check(obj){
  var max = obj.getAttribute("data-max");
  if(parseInt(obj.value) > parseInt(max)){
    alert("Amount out of max!");
  }
}
<input name="amount" value="0" data-max="3" onkeyup="check(this);"/>

Nhưng cách này không được khuyến khích và nên tránh, vì người dùng có thể lấy được dữ liệu lưu trữ của bạn bằng cách kiểm tra mã nguồn.

Kiểm tra khi người dùng gửi

Kiểm tra số tiền với giá trị tối đa ở phía máy chủ, điều này dẫn đến trải nghiệm người dùng kém.

Kiểm tra dữ liệu không đồng bộ

Điều này chủ yếu được đề xuất và sử dụng, lấy dữ liệu không đồng bộ. Bạn có thể thử jquery .

Giả sử ngôn ngữ phía máy chủ của bạn là php , bạn có thể tạo một tệp checkMax.php :

<?
  $amount = $_POST["amount"];
  $item_id = $_POST["item_id "];
  /* get your max data from database using item_id, then assign $max
     ...
  */
  echo $amount > $max ? 1 : 0

Sau đó, bạn có thể kiểm tra số tiền bằng jquery ajax.

<input name="amount" class="amount" data-id="1" value="0"/>
$(".amount").change(function(){
  var amount = $(this).val();
  var item_id = $(this).attr("data-id");
  $.post("checkMax.php", {"amount": amount, "item_id": item_id}, function(data){
     if(data == "1")alert("Amount out of Max!");
  });
});


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Triển khai một hệ thống tham gia có thể định cấu hình, một cách an toàn

  2. Kích thước cơ sở dữ liệu khác nhau sau khi xuất / nhập

  3. Tối ưu hóa truy vấn MySQL:Có luôn luôn có thể tối ưu hóa một truy vấn để nó không sử dụng TẤT CẢ

  4. Cắt ngắn với điều kiện

  5. kết quả một phần từ một truy vấn SELECT dài hạn?