Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Tetapkan teks input jumlah maksimum dari database di php/javascript

Ada 3 cara untuk mengatasinya:

  • Transfer info maksimal ke front-end
  • Periksa kapan pengguna mengirim
  • Pemeriksaan data asinkron, seperti Jquery ajax

Transfer info maksimal ke front-end

Cukup tempatkan info maksimal Anda ke beberapa area tersembunyi, dan gunakan javascript untuk mendapatkan dan memeriksanya.

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);"/>

Namun cara ini tidak disarankan dan harus dihindari, karena pengguna dapat memperoleh data penyimpanan Anda dengan memeriksa kode sumber.

Periksa kapan pengguna mengirim

Periksa jumlah dengan nilai maksimal di sisi server, yang menyebabkan pengalaman pengguna yang buruk.

Pemeriksaan data asinkron

Ini sebagian besar direkomendasikan dan digunakan, yang mendapatkan data secara tidak sinkron. Anda dapat mencoba jquery .

Dengan asumsi lang sisi server Anda adalah php , Anda dapat membuat file 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

Kemudian Anda dapat memeriksa jumlah dengan 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. Memiliki lebih banyak masalah dengan mysqli. Data numerik dalam hasil

  2. Bagaimana cara menambahkan <br/> setelah setiap hasil, tetapi bukan hasil terakhir?

  3. Bagaimana cara memilih kolom berdasarkan posisi numeriknya dalam sebuah tabel?

  4. Lewati nomor sebagai nama kolom dalam pernyataan pilih Sql

  5. Tidak dapat memilih pengelompokan baris berdasarkan create_at