Jump to content

Modifying W3 script in order to connect to 2 DBs not working - probably easy?


jdgower

Recommended Posts

Please help :(

 

First of all, my actual question is much more complicated but if i can find the answer to the below it will probably answer my deeper question...

 

http://www.w3schools.com/php/php_ajax_database.asp

 

At the above URL, it connects to a database to grab the information when you select a person.  Let's say that I wanted to modify this so that it actually has a master list of people in the drop down, but not all the people are in one database, they are in 2 different databases.

 

Theres a lot of script here but basically all i did was add 2 lines on the index page (script and div), then copy the selectuser.js and getuser.php and put 2 after everything that [i THINK] is relevant.

 

I would think that i could just change the script at the top of index to:

 

<script type="text/javascript" src="selectuser.js"></script>
<script type="text/javascript" src="selectuser2.js"></script>

 

at the div on the index, change it to:

 

<div id="txtHint"><b>Person info will be listed here.</b></div>
<div id="txtHint2"><b>Person info will be listed here.</b></div>

 

the script in selectuser2.js (the one i make):

 

var xmlhttp;

function showUser(str)
{
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
  {
  alert ("Browser does not support HTTP Request");
  return;
  }
var url="getuser2.php";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}

function stateChanged()
{
if (xmlhttp.readyState==4)
{
document.getElementById("txtHint2").innerHTML=xmlhttp.responseText;
}
}

function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
  {
  // code for IE7+, Firefox, Chrome, Opera, Safari
  return new XMLHttpRequest();
  }
if (window.ActiveXObject)
  {
  // code for IE6, IE5
  return new ActiveXObject("Microsoft.XMLHTTP");
  }
return null;
}

 

the script for getuser2.php (the one i make):

<?php
$q=$_GET["q"];

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

mysql_select_db("ajax_demo2", $con);

$sql="SELECT * FROM user WHERE id = '".$q."'";

$result = mysql_query($sql);

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

while($row = mysql_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>";

mysql_close($con);
?>

 

The issue I'm having is that it only shows information from the second database, not both.  There is probably something wrong with the JS, but i dont know what it is.  Thanks in advance for your help!

 

-Jeremy

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.