Page 1 of 1

URL syntex

Posted: Wed Oct 22, 2014 5:54 am
by gautamz07
Ok i found the following code on W3C http://www.w3schools.com/php/php_ajax_database.asp


basically its Ajax and PHP interacting to info from a database , so heres the Ajax code :

Code: Select all

<html>
<head>
<script>
function showUser(str) {
  if (str=="") {
    document.getElementById("txtHint").innerHTML="";
    return;
  } 
  if (window.XMLHttpRequest) {
    // code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
  } else { // code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.onreadystatechange=function() {
    if (xmlhttp.readyState==4 && xmlhttp.status==200) {
      document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
  xmlhttp.open("GET","getuser.php?q="+str,true);
  xmlhttp.send();
}
</script>
</head>
<body>

<form>
<select name="users" onchange="showUser(this.value)">
<option value="">Select a person:</option>
<option value="1">Peter Griffin</option>
<option value="2">Lois Griffin</option>
<option value="3">Joseph Swanson</option>
<option value="4">Glenn Quagmire</option>
</select>
</form>
<br>
<div id="txtHint"><b>Person info will be listed here.</b></div>

</body>
</html>

and heres the PHP code :

Code: Select all

<?php
$q = intval($_GET['q']);

$con = mysqli_connect('localhost','peter','abc123','my_db');
if (!$con) {
  die('Could not connect: ' . mysqli_error($con));
}

mysqli_select_db($con,"ajax_demo");
$sql="SELECT * FROM user WHERE id = '".$q."'";
$result = mysqli_query($con,$sql);

echo "<table border='1'>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
<th>Hometown</th>
<th>Job</th>
</tr>";

while($row = mysqli_fetch_array($result)) {
  echo "<tr>";
  echo "<td>" . $row['FirstName'] . "</td>";
  echo "<td>" . $row['LastName'] . "</td>";
  echo "<td>" . $row['Age'] . "</td>";
  echo "<td>" . $row['Hometown'] . "</td>";
  echo "<td>" . $row['Job'] . "</td>";
  echo "</tr>";
}
echo "</table>";

mysqli_close($con);
?>
i don't understand the URL being sent in the Ajax request the PHP file is named getuser.php

So why is the Ajax requesting : "getuser.php?q="+str,true , and what is "true" in there for ???

Re: URL syntex

Posted: Wed Oct 22, 2014 2:17 pm
by requinix
The URL is "getuser.php?q=" followed by whatever the value of str is (which will be whatever the user selected: 1, 2, 3, or 4). So like "getuser.php?q=1".

Here's documentation for XMLHttpRequest.open(). The third argument indicates whether the AJAX is done asynchronously (returns immediately and executes in the background) or not (doesn't return until the request completes). AJAX should always be done asynchronously.
gautamz07 wrote:Ok i found the following code on W3C http://www.w3schools.com/php/php_ajax_database.asp
W3Schools. They are in no way whatsoever associated with the W3C.