0

Hi My question is how can I get the value from php script using an ajax with a onclick event.

I have a text field and a button

<button type="button" class="btn btn-primary" onclick="getid(this)">Generate ID</button>
<input type="text" name="pin" class="form-control" readonly>

And here is my php script named getrowcount.php

include_once  'conx.php';

$query ="SELECT * FROM patientprofile";
$result = $DBcon->query($query);
$count = $result->num_rows;

if ($result) {
   if($count >= 0){
       $count_res = $count += 1;
       $idnum = $count_res;
       $test = str_pad($idnum, 5, "0", STR_PAD_LEFT);
    }
}

And now my problem is how can I get the value from $test and put it in the input text field using ajax.

0

4 Answers 4

1

You can use AJAX to display the output from the query in the input field.

Step 1: Add this line of code to the bottom of getrowcount.php:

echo $test;

Step 2: Amend your HTML so that it looks like this:

<form id="get">
   <input type="text" id="pin" name="pin" class="form-control" readonly>
   <input type="submit" class="btn btn-primary" value="Generate ID">
</form>

Step 3: Add this script to the bottom of the page.

<script>
$(document).ready(function(){
    $("form#get").submit(function(event) {
        event.preventDefault();
        var input = $("#pin");

        $.ajax({
            type: "POST",
            url: "getrowcount.php",
            success: function(data) { input.val(data); }
        });
    });
});
</script>
Sign up to request clarification or add additional context in comments.

3 Comments

I have made a small change to the jQuery code.
Hi @The Codesee what if i use the onclick event rather than the submit button so that the page wont reload when cliccking the button.
event.preventDefault(); should stop the page from refreshing when the submit button is pressed.
1

May be this will help you

Your PHP code :

<?php
    // Your database query and results store in $test
    echo $test;
?>

Your ajax call should be -

$.ajax("getrowcount.php").done(function(data) {
   $('.form-control').val(data);
})

Comments

1

You could use the jQuery method $.get() in your javascript script :

function getid(_this){
     $.get('php_script_url.php',{},function(response){
         alert(response);
         $("[name=pin]").val(response);
     })
}

Then in your PHP script you should add echo to the result you want to return :

echo $test;

Hope this helps.

Comments

0

For this you'd run the ajax call on button press, load the php from the ajax, in the php do an echo with the variable you want to use, then in the ajax success section, you'd use the returned variable.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.