在我的代码中,产品名称将随着品牌名称而更改,我将显示产品的信息。。但信息显示不正确。。。如果我只从url运行getdetails.php页面,我可以看到产品bt的信息,我不能从用户页面看到它,我需要在用户页面中显示数据
我的用户页面代码:
<?php
session_start();
if( $_SESSION['type']!='user')
{
header("Location: index.php");
return;
}
require_once("dbconnect.php");
$sql = "SELECT Brand FROM info";
$rslt = mysql_query($sql);
$options = "";
while ($row=mysql_fetch_array($rslt))
{
$options .= "<option>$row[Brand]<option>";
}
mysql_close();
?>
<script type="text/javascript">
function loadDetails()
{
var xmlhttp;
var pname = document.getElementById("list").value;
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("details").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getdetails.php?name="+pname,true);
xmlhttp.send();
}
</script>
</head>
<body onload="loadDetails();">
<center>
<h1>Product</h1>
<fieldset>
<legend><label><b>Choose Your Product</b></label></legend></br>
<label><b>Brand Name</b></label>
<select id="list" onchange="loadDetails();"><?php echo $options; ?></select>
<div id="details"></div>
</fieldset>
我的getdetails页面:
<?php
session_start();
if( $_SESSION['type']!='user')
{
header("Location: index.php");
return;
}
require_once("dbconnect.php");
$name = $_REQUEST['name'];
$sql = "SELECT Name FROM info WHERE Brand='$name' AND quantity > 0";
$rslt = mysql_query($sql);
$options ="";
while ($row=mysql_fetch_array($rslt))
{
$options.="<option>$row[Name]<option>";
}
mysql_close();
?>
<script type="text/javascript">
function Details()
{
var xmlhttp;
var lname = document.getElementById("plist").value;
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)
{
document.getElementById("dtil").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","details.php?pnam="+lname,true);
xmlhttp.send();
}
</script>
<body onload="Details();">
<label><b>Product Name</b></label>
<select id="plist" onchange="Details();"><?php echo $options; ?></select>
<?php echo "<table id='dtil' border=3></table>";
?>
</body>
如何在"dtil"中获取表的数据??有什么有效的方法可以在一页中完成这些代码吗??
动态生成的选项行没有附加value
字段,因此var pname = document.getElementById("list").value;
不返回任何内容。您还在HTML代码中将其命名为plist
。
我敦促您寻求舒适和安全的其他备注:
- 查看
mysqli
和PDO
。mysql
既不安全,也可能在不久的将来被弃用 - 看看
jQuery
,它比纯javascript
容易得多。了解CSS
选择器会使理解jQuery
变得更加容易 - 为了安全起见,请查看
SQL injection.