Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript PHP AJAX MySql抓取数据-单选按钮_Javascript_Php_Jquery_Mysql_Ajax - Fatal编程技术网

Javascript PHP AJAX MySql抓取数据-单选按钮

Javascript PHP AJAX MySql抓取数据-单选按钮,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,是否可以通过单击单选按钮来显示数据库中的数据。目前,我已将其设置为下拉框,但我希望它连接到我的单选按钮。以下是我当前的一个单选按钮代码: <Input type = 'Radio' Name ='compcase' value= '1' />NZXT Phantom Enthusiast USB3.0 Full Tower Case - White <br /> NZXT幻影爱好者USB3.0全塔式机箱-白色 我目前的代码是: index.php <script

是否可以通过单击单选按钮来显示数据库中的数据。目前,我已将其设置为下拉框,但我希望它连接到我的单选按钮。以下是我当前的一个单选按钮代码:

<Input type = 'Radio' Name ='compcase' value= '1' />NZXT Phantom Enthusiast USB3.0 Full Tower Case - White <br />
NZXT幻影爱好者USB3.0全塔式机箱-白色
我目前的代码是:

index.php

<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","getprice.php?q="+str,true);
xmlhttp.send();
}

</script>

<select name="case_price" onchange="showUser(this.value)">
<option value="">Select a processor:</option>
<option value="1">i5 2500k</option>
<option value="2">i5 4970k</option>
<option value="3">i7 4770k</option>
<option value="4">i7 4790k</option>
</select>
<div id="txtHint"><b>Processor listed here</b></div>
    <?php
$q = intval($_GET['q']);

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

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

while($row = mysqli_fetch_array($result)) {
echo "<tr>";
echo "<td>" . $row['case_price'] . "</td>";
echo "</tr>";
}
echo "</table>";

mysqli_close($con);
?>

函数showUser(str){
如果(str==“”){
document.getElementById(“txtHint”).innerHTML=“”;
返回;
} 
if(window.XMLHttpRequest){
//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}else{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数(){
if(xmlhttp.readyState==4&&xmlhttp.status==200){
document.getElementById(“txtHint”).innerHTML=xmlhttp.responseText;
}
}
open(“GET”、“getprice.php?q=“+str,true”);
xmlhttp.send();
}
选择一个处理器:
i5 2500k
i5 4970k
i7 4770k
i7 4790k
此处列出的处理器
getprice.php

<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","getprice.php?q="+str,true);
xmlhttp.send();
}

</script>

<select name="case_price" onchange="showUser(this.value)">
<option value="">Select a processor:</option>
<option value="1">i5 2500k</option>
<option value="2">i5 4970k</option>
<option value="3">i7 4770k</option>
<option value="4">i7 4790k</option>
</select>
<div id="txtHint"><b>Processor listed here</b></div>
    <?php
$q = intval($_GET['q']);

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

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

while($row = mysqli_fetch_array($result)) {
echo "<tr>";
echo "<td>" . $row['case_price'] . "</td>";
echo "</tr>";
}
echo "</table>";

mysqli_close($con);
?>

当您要通过ajax从php文件中获取许多数据,但不知道有多少数据时
您必须将数据格式更改为JSON
试试这个:

$q = intval($_GET['q']);
$con = mysqli_connect('localhost','root','','test');
mysqli_select_db($con,"compcase");
$sql="SELECT * FROM compcase WHERE id = '".$q."'";
$result = mysqli_query($con,$sql);

$callBack = json_encode( mysqli_fetch_array($result) );
//then echo that
echo $callback;

mysqli_close($con);
在您的JavaScript文件中,您可以通过
JSON.parse(xmlhttp.responseText)解析数据

它会返回一个包含数据的数组
我建议您通过以下方式检测数组中的索引名:
console.log(JSON.parse(xmlhttp.responseText))

然后,您只需按F12键并单击控制台,就可以检测到如何访问您的数据。您想在单击单选按钮时调用javascript函数吗?与其使用下拉菜单,不如使用我的单选按钮。单击单选按钮时,如何使其工作,它将显示它而不是下拉列表?我认为您应该能够通过写入每个列的名称
JSON.parse(xmlhttp.responseText)[“example”]来访问它们
或者您在MySQL中为您的列命名了什么?是否有任何代码需要进入,或者没有问题?您可以使用
document.getElementById(“选择框”).onchange=function(){document.getElementById(“选择框”).value=..}
或者仍然使用内联事件