sql >> Databasteknik >  >> RDS >> Mysql

Hur exekverar jag en PHP-fråga på valt alternativ med AJAX?

Det första är att du måste utlösa AJAX-förfrågan genom att använda Javascript. Men jag kommer att guida dig genom att använda jQuery (ett Javascript-bibliotek).

Din HTML:

<select name="allbooks" id="allbooks">
  <option value="none" ></option>
  <option value="allbooks" >All Books</option>
</select>
<div id="show">
  <!-- ITEMS TO BE DISPLAYED HERE -->
</div>

Efter det, ladda ner jQuery .

Låt oss sedan göra skriptet:

<script src="jquery-1.9.1.min.js"></script> <!-- CHANGE THE JQUERY FILE DEPENDING ON THE VERSION YOU HAVE DOWNLOADED -->
<script type="text/javascript">
  $(document).ready(function(){ /* PREPARE THE SCRIPT */
    $("#allbooks").change(function(){ /* WHEN YOU CHANGE AND SELECT FROM THE SELECT FIELD */
      var allbooks = $(this).val(); /* GET THE VALUE OF THE SELECTED DATA */
      var dataString = "allbooks="+allbooks; /* STORE THAT TO A DATA STRING */

      $.ajax({ /* THEN THE AJAX CALL */
        type: "POST", /* TYPE OF METHOD TO USE TO PASS THE DATA */
        url: "get-data.php", /* PAGE WHERE WE WILL PASS THE DATA */
        data: dataString, /* THE DATA WE WILL BE PASSING */
        success: function(result){ /* GET THE TO BE RETURNED DATA */
          $("#show").html(result); /* THE RETURNED DATA WILL BE SHOWN IN THIS DIV */
        }
      });

    });
  });
</script>

Låt oss sedan skapa get-data.php som kommer att ta emot data som skickas via AJAX.

if(!empty($_POST["allbooks"])){
  /* DO YOUR QUERY HERE AND GET THE OUTPUT YOU WANT */
  echo $output; /* PRINT THE OUTPUT YOU WANT, IT WILL BE RETURNED TO THE ORIGINAL PAGE */
}

Du kan kolla det här exemplet - JSfiddle .



  1. Flera kolumn främmande nyckel i MySQL?

  2. Hitta orsaken till dödlägesfel från oracle trace-fil

  3. Mysql:Ställ in formatet DATETIME till 'DD-MM-YYYY HH:MM:SS' när du skapar en tabell

  4. Vanliga MySQL-fält och deras lämpliga datatyper