sql >> データベース >  >> RDS >> Mysql

php/javascriptでデータベースからの入力テキストの最大数を設定します

    それを解決する3つの方法があります:

    • 最大情報をフロントエンドに転送する
    • ユーザーが送信するタイミングを確認する
    • Jqueryなどの非同期データチェック ajax

    最大情報をフロントエンドに転送する

    最大情報を非表示の領域に配置し、JavaScriptを使用して取得して確認します。

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

    ただし、この方法はお勧めしません ユーザーはソースコードをチェックすることでストレージデータを取得できるため、避ける必要があります。

    ユーザーが送信するタイミングを確認する

    サーバー側で最大値で金額を確認すると、ユーザーエクスペリエンスが低下します。

    非同期データチェック

    これは主に推奨され、使用されており、データを非同期的に取得します。 jqueryを試すことができます 。

    サーバー側の言語がphpであると仮定します 、ファイルを作成できます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
    

    次に、jqueryajaxで金額を確認できます。

    <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. PostgreSQLデータベースのバックアップと復元、およびWindows7でのlaravelを使用したローカルホスト環境のセットアップ

    2. iSQLplusでデータベース名を選択します

    3. 連想テーブルを使用するよりも、フラグをビットマスクとして保存する方がよいのはいつですか。

    4. PHPでMySQLテーブル構造を取得するにはどうすればよいですか?さらに、すべてのテーブルのリスト?