Skip to main content

Getting Data from Database using AJAX in PHP. Javascript

Ok, so another solution which I thought would be cool if I share with other new bees like me using AJAX.

I have a new user registration form, I allow users to enter their email IDs, Name, Phone number etc.

Now sometimes it is very irritating from the user perspective that they have filled all the lengthy form and then they got to know that their email ID already existed in the database.
So, think smartly.

Why not to notify the user as soon as he enters the email ID. hmmm !!! Looks cool but how to do it?

first of all make a html form and within the email id field make use of the onblur function and call another javascript function like mentioned below.

<input type="text" name="Email" onblur="email_chk(2);"/></td>

Now the email_chk function in the javascript

include this is Head element of your form

<PLEASE ALSO DO NOT FORGOT TO INCLUDE THE AJAX.JS FILE WHICH IS REQUIRED TO CALL THE AJAX.CONNECT FUNCTION>

<script language="javascript" type="text/javascript">

var gchkblur=0;

function email_chk(chkblur)
{
gchkblur=chkblur;
var id="";
var txt_name=document.onlineform.Email.value; //----getting the value of the email id that the user has entered
if(txt_name!="" && isValidEmail(txt_name)) //---> custom function to validate the email as well
ajaxConn.connect(siteUrl+"dup_chk.php", "POST", "txt_name="+txt_name+"&id="+id,fnWhenDone_email_chk);

//The above is the main function where we are calling another file named as dup_chk.php(included later in this post)

//Now if you look closely into the function I am actually passing the parameters
parameter number 1 --> telling the function to refer to dup_chk.php file
parameter number 2 --> giving a POST method
parameter number 3 --> providing the value to compare
parameter number 4 --> the ID
parameter number 4 --> to execute the function when I am back from the dup_chk file

}
function fnWhenDone_email_chk(XML)
{  
//alert(XML.responseText);
if(XML.responseText==1)
{
  document.getElementById("email").innerHTML = "<<<<< Email ID already exist. >>>>>";
  document.onlineform.Email.focus();
  document.onlineform.Email.select();

 
  //alert(chkErr);
 }
if(XML.responseText==2)
{
  document.getElementById("email").innerHTML ="&nbsp;";

  if(gchkblur==1)
  {
  document.onlineform.action="resource.php";
  document.onlineform.method="post";
 
  document.onlineform.submit();
  }
 }
}


</script>



Now my dup_chk will look something like this

dup_chk.php



<?php
session_start();
ob_start();
include("includes/functions.php");
autoout();
sessionChk();
userStatus();

$tstrval = "";
if($_REQUEST["txt_name"]!="") // For Email
{
$query="select resource_id from resource_master where rm_email_id ='" . trim($_REQUEST["txt_name"]) . "'";

if($_REQUEST["id"]!="")
{
$query.=" and resource_id <>'" . $_REQUEST["id"] . "'";
}
$result=mysql_query($query);

while($row=mysql_fetch_assoc($result))
{
$tstrval = $tstrval . $row['resource_id'];
}
}
 //echo $_REQUEST["txt_name"] . "<!!>" . $_REQUEST["id"];
if($tstrval!="")
  echo "1";
 else
  echo "2";
?>


In the above file I am hitting a query to run a comparison check and then passing the values in a array.

If my conditions gets satisfied then my variable $tstrval will return 1 and that I will catch on the fnWhenDone_email_chk


This is how I can compare the values on a real time basis.

This is a very good technology AJAX is also used by GOOGLE. It actually reduces a lot of work.

My next post will follow another example on the AJAX itself.

Just post your comment if you have any doubts on the above function.

happy coding !! Cheers

Comments

Popular posts from this blog

Dynamically generate Text Box and update its value in database

Hi Guys, This Post is in reference to the time I spent in order to write just a piece of code in PHP, though it would be very easy for most of the guys but if you are still learning then its a good thing to be proud of. Ok let me explain a little about what I was trying to do and how I did it. Requirement : I need to list down all the names of guys who falls under a certain category and display them on another page. I can do this by creating static text box in the landing page and fetch the value from the database OR I can dynamically generate the text box and display all the data there. For that first call the sql query of the condition like this. $sql = mysql_query("SELECT * FROM `list1` WHERE BLAH BLAH"); Now use the While query in order to get all the data required  <?php       while ($row = mysql_fetch_array($sql))       {           ?>       <tr>       <td  align="center" valign="middle" scope="row">

Jquery Carousels

Jquery Carousels we all love carousels they are a fantastic way to give the effects we want our visitors to have, more than that we have multiple components to show like images, links, text etc. There are lot many ways to achieve it, Jquery is ofcourse the best possible option available outside. We all search for lot of ems it can be Jquery Flexslider  or Jcarousel Lite  whatever you choose, customization is required, in this tutorial I am not going to focus on how to install these libraries rather one step ahead, to let you know how these carousels can be called multiple times in the same page having their controls working respectively for each carousel instance. So, lets get started with the HTML <div id="sideRight"> <div id="first">       <!-- Do not change the class and tag type, as this will remain as it is for all the following divisions-->       <p class="containheader">Plans for you <a href=&quo

IE 10 in IE7 compatibility mode returns error: 'SCRIPT3: Member not found'

Lately I upgraded my Internet Explorer to newer version which is 10, and was quite happy about it, but that doesn't seem to last long, when I tested my site changing the browser mode IE7, specifically using IE10, then jquery have thrown an error saying "member not found" , I was not surprised as such issues I have seen before as well, and was sure that there was JS code messed up from my side, after scanning through all the methods etc. I was not able to figure out anything, even was not sure what to search on Internet. After introspecting it was clear that this bug was not coming while I was using IE 7 from IE 9 browser installed, it came only after upgrading. At last, I found the root cause, it was not the jquery, not my JS code, not the custom dropdowns, even not all the pages were throwing this error, this was due to the jquery validate plugin, and thanks to  jester12345  who acknowledged the bug at  https://github.com/jzaefferer/jquery-validation/issues/845  an