Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Legen Sie die maximale Anzahl von Eingabetexten aus der Datenbank in PHP/Javascript fest

Es gibt 3 Möglichkeiten, es zu lösen:

  • Maximale Informationen an das Front-End übertragen
  • Überprüfen, wann der Benutzer einreicht
  • Asynchrone Datenprüfung, wie Jquery ajax

Maximale Informationen an das Front-End übertragen

Platzieren Sie einfach Ihre maximalen Informationen in einem versteckten Bereich und verwenden Sie Javascript, um sie abzurufen und zu überprüfen.

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

Aber dieser Weg wird nicht empfohlen und sollte vermieden werden, da Benutzer Ihre Speicherdaten durch Überprüfen des Quellcodes abrufen können.

Überprüfen, wann der Benutzer einreicht

Überprüfen Sie den Betrag mit dem maximalen Wert auf der Serverseite, was zu einer schlechten Benutzererfahrung führt.

Asynchrone Datenprüfung

Dies wird meistens empfohlen und verwendet, die Daten asynchron erhalten. Sie können jquery ausprobieren .

Angenommen, Ihre serverseitige Sprache ist php , können Sie eine Datei checkMax.php erstellen :

<?
  $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

Dann können Sie den Betrag per jquery ajax überprüfen.

<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!");
  });
});