sql >> Database >  >> RDS >> Mysql

Maximaal aantal invoerteksten uit database instellen in php/javascript

Er zijn 3 manieren om het op te lossen:

  • Maximum info overzetten naar front-end
  • Controleer wanneer gebruiker indient
  • Asynchrone gegevenscontrole, zoals Jquery ajax

Maximum info overzetten naar front-end

Plaats gewoon je maximale informatie in een verborgen gebied en gebruik javascript om dat te krijgen en te controleren.

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

Maar deze manier is niet aanbevolen en moet worden vermeden, aangezien gebruikers uw opslaggegevens kunnen verkrijgen door de broncode te controleren.

Controleer wanneer gebruiker indient

Controleer het bedrag met de maximale waarde aan de serverzijde, wat leidt tot een slechte gebruikerservaring.

Asynchrone gegevenscontrole

Dit wordt meestal aanbevolen en gebruikt, waarmee gegevens asynchroon worden opgehaald. Je kunt jquery proberen .

Ervan uitgaande dat uw server-side lang php . is , kunt u een bestand maken 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

Dan kunt u het bedrag controleren met 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. Ontvang de huidige AUTO_INCREMENT-waarde voor elke tabel

  2. Oracle SQL-query om alle datums van de vorige maand weer te geven

  3. Best practice voor het omgaan met relaties tussen tabellen in Spring Data R2dbc

  4. Selecteer de beste afzonderlijke resultaten, gerangschikt op frequentie