当前位置: 动力学知识库 > 问答 > 编程问答 >

javascript - Sending radio button value using AJAX to get PHP file to retrieve data from MySQL

问题描述:

I want to be able to write a few mysql queries with the returned value(s) of my radio button(s). Here is the code I have

<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>

<?php include 'db_connector.php';

$result = mysqli_query($con,"SELECT * FROM os_scope");

while($row = mysqli_fetch_array($result)) {

$row['name'];

echo "<li><div class='toggle-btn-grp cssonly'>

<div><form><input type='radio' name='os' value=".$row['name']." id='myRadio' onchange='showUser(this.value)'>

<label class='toggle-btn'><div class='title'>".$row['name']."</form></div></label></div></div></li>";

}

?>

<br>

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

</body>

</html>

Here is my php file getuser.php

 <?php

$q = intval($_GET['q']);

$con = mysqli_connect('localhost','root','abc123','mydb');

if (!$con) {

die('Could not connect: ' . mysqli_error($con));

}

mysqli_select_db($con,"ajax_demo");

$sql="SELECT * FROM os ";

$result = mysqli_query($con,$sql);

echo "<table border='1'>

<tr>

<th>ID</th>

<th>Name</th>

<th>Scope</th>

<th>Client</th>

<th>Supplier</th>

</tr>";

while($row = mysqli_fetch_array($result)) {

echo "<tr>";

echo "<td>" . $row['id'] . "</td>";

echo "<td>" . $row['name'] . "</td>";

echo "<td>" . $row['scope'] . "</td>";

echo "<td>" . $row['client'] . "</td>";

echo "<td>" . $row['supplier'] . "</td>";

echo "</tr>";

}

echo "</table>";

mysqli_close($con);

?>

However, when I run the code I keep getting this error:

Notice: Undefined index: q

Which means q is not been sent to the php file, any ideas how I can fix this?

I would really appreciate all the help I can get. Sorry if this is a dumb question but am really new at this, so I would really appreciate the help. Thanks.

网友答案:

Change

xmlhttp.open("GET","getuser.php?=q"+str,true);

to

xmlhttp.open("GET","getuser.php?q="+str,true);

The q and = are the wrong way around ;)

分享给朋友:
您可能感兴趣的文章:
随机阅读: