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

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.