我遇到以表格格式显示数据库表的问题,如下所示:
在我向您介绍我使用的代码之前,我想描述一下情况(请记住,我在编程方面没有进步,而且我在那里找到了一个示例代码......在某处)。< / p>
我有3张不同的牌桌。它们如下:
表1: id |国家| ID_VALUE
表2: id |国家| id_value |繁殖
表3: id |老板|联系| ID_VALUE
正如您所看到的,我正在使用id_value参数来连接它们。
我设法将dropdown-menu1连接到表1后,我可以选择一个选项并自动过滤表2,这样我就可以从(过滤的)下拉菜单2中选择一些内容。
问题: 下面我有一个按钮,应该执行以下操作: 在访问者/用户做出选择并且表1/2被过滤后,单击按钮并在div内或其他内容时,显示表3中的相应结果。 / p>
现在这里是代码:
main_php: (以下代码在head -tags中使用)
<script type="text/javascript">
function AjaxFunction()
{
var httpxml;
try
{
// Firefox, Opera 8.0+, Safari
httpxml=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
httpxml=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
httpxml=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("Your browser does not support AJAX!");
return false;
}
}
}
function stateck()
{
if(httpxml.readyState==4)
{
//alert(httpxml.responseText);
var myarray = JSON.parse(httpxml.responseText);
// Remove the options from 2nd dropdown list
for(j=document.testform.subcat.options.length-1;j>=0;j--)
{
document.testform.subcat.remove(j);
}
for (i=0;i<myarray.data.length;i++)
{
var optn = document.createElement("OPTION");
optn.text = myarray.data[i].breed;
optn.value = myarray.data[i].id_values; // You can change this to subcategory
document.testform.subcat.options.add(optn);
}
}
} // end of function stateck
var url="connect_data/dd.php";
var cat_id=document.getElementById('s1').value;
url=url+"?cat_id="+cat_id;
url=url+"&sid="+Math.random();
httpxml.onreadystatechange=stateck;
//alert(url);
httpxml.open("GET",url,true);
httpxml.send(null);
}
</script>
在体内:
<form name="testform" method='POST' action='mainck.php'>
Name:<input type=text name=fname>
<?Php
require "connect_data/config.php";// connection to database
echo "<br>Select Category first <select name=cat id='s1' onchange=AjaxFunction();>
<option value=''>Select One</option>";
$sql="select DISTINCT id_values, country from the_countries ORDER BY country"; // Query to collect data from table
foreach ($dbo->query($sql) as $row) {
echo "<option value=$row[id_values]>$row[country]</option>";
}
?>
</select>
<br>
Select Subcategory
<select name=subcat id='s2'>
</select><br><input type=submit value=submit>
</form>
使用的dd.php (&lt; -this php基本上从第一个下拉菜单获取数据,将其连接到第二个,然后返回代码转到main.php填充来自表2的过滤数据的第二个下拉菜单。
<?Php
@$cat_id=$_GET['cat_id'];
//$cat_id=2;
/// Preventing injection attack ////
if(!is_numeric($cat_id)){
echo "Data Error";
exit;
}
/// end of checking injection attack ////
require "config.php";
$sql="select DISTINCT breed,id_values from breeds_list where id_values='$cat_id' ORDER BY breed";
$row=$dbo->prepare($sql);
$row->execute();
$result=$row->fetchAll(PDO::FETCH_ASSOC);
$main = array('data'=>$result);
echo json_encode($main);
?>
最后,完成所有操作后,根据示例代码,一切都应该转到一个名为的文件 mainck.php 并且是以下一个(&lt; - 请注意:这一部分我根本没碰过,因为这是我撞墙的地方我不喜欢“知道如何继续”。
<!doctype html public "-//w3c//dtd html 3.2//en">
<body >
<?Php
echo "\$_POST['fname'] = $_POST[fname]<br>
\$_POST['cat'] = $_POST[cat]<br>
\$_POST['subcat'] = $_POST[subcat]
";
/*
while (list ($key,$val) = each ($_POST)) {
echo "\$$key = $val";
echo "<br>";
}
*/
?>
<br><INPUT TYPE="button" VALUE="Back" onClick="history.go(-1);">
</body>
总而言之,我想要的只是点击那个血腥按钮并从表3中获取相应的数据(在表1和表2之后已经过滤)。