Php 如何在表单中显示从数据库获取的数据
$//首先,我发送执行sql查询的php代码。该代码执行查询以从数据库获取数据,并将所有数据存储在get_row1中,并将其作为响应发送到ajax$Php 如何在表单中显示从数据库获取的数据,php,javascript,ajax,Php,Javascript,Ajax,$//首先,我发送执行sql查询的php代码。该代码执行查询以从数据库获取数据,并将所有数据存储在get_row1中,并将其作为响应发送到ajax$ <?php $connect = mysql_connect("localhost", "root", ""); $data = mysql_select_db("testme", $connect); $identity = $_REQUEST['id']; $query = "SELECT * FROM
<?php
$connect = mysql_connect("localhost", "root", "");
$data = mysql_select_db("testme", $connect);
$identity = $_REQUEST['id'];
$query = "SELECT * FROM student_demo WHERE id=1";
$getdata = mysql_query($query);
$get_row1 = mysql_fetch_array($getdata);
$data1 = array(
$get_row1[0],
$get_row1[1],
$get_row1[2],
$get_row1[3]
);
print_r($data1);
?>
$//这会将$data1发送回ajax代码$
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) {
alert(xmlhttp.responseText);
temp1 = xmlhttp.responseText.split("=>");
alert(temp1);
for (var i = 0; i < 10; i++) {
$('.data' + i).val(tmp1[i]);
if (tmp[i] == "[0]") {
document.getelementById("c_name").value = temp1[i];
}
}
}
}
xmlhttp.open("GET", "process.php?id=" + ID, true);
xmlhttp.send();
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){
警报(xmlhttp.responseText);
temp1=xmlhttp.responseText.split(=>);
警报(temp1);
对于(变量i=0;i<10;i++){
$('.data'+i).val(tmp1[i]);
如果(tmp[i]=“0]”){
document.getelementById(“c_名称”).value=temp1[i];
}
}
}
}
open(“GET”、“process.php?id=“+id,true”);
xmlhttp.send();
现在,为了从数组temp1中获取要在php代码的文本框$中显示的值,我应该做哪些更改,您最好将响应编码为JSON:
data1=array($get_row1[0],
$get_row1[1],
$get_row1[2],
$get_row1[3]);
json_encode($data1);
然后,在JS代码中,您可以使用JSON解析响应字符串。parse
:
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
alert(xmlhttp.responseText);
temp1=JSON.parse(xmlhttp.responseText);
console.log(temp1); // this way you can see exact structure of an object in browser console
var i;
for(i=0;i<10;i++)
{
$('.data'+i).val(tmp1[i]); // not sure what is that. If you are already using jQuery, then you can do everything even simpler
if(tmp[i]=="[0]")
{
document.getElementById("c_name").value=temp1[i]; // see here getElementById - javascript is case sensitive
}
}
}
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{
警报(xmlhttp.responseText);
temp1=JSON.parse(xmlhttp.responseText);
console.log(temp1);//通过这种方式,您可以在浏览器控制台中查看对象的确切结构
var i;
for(i=0;iI可以看到您正在for循环中使用$
,假设它的别名为jQuery
为什么不使用$.ajax()
?什么是tmp数组?你提到了temp,但你也有tmp。你在问如何正确解析来自ajax的响应?换句话说,如何将其转换为JS数组?一般来说,JS代码会向php页面执行请求,并按id获取打印的数据。你想将这些数据放在JS数组中吗?@2-Stroker我真的更喜欢jQuery而不是“普通”的ajax!