Php 使用Javascript显示数据库中存在的内容

Php 使用Javascript显示数据库中存在的内容,php,javascript,database,mysql,Php,Javascript,Database,Mysql,我有下面的问题,希望能有一些正确的方向。 简单来说: 我使用PHP从表中获取信息,并将其放入标记中。 每当我单击其中一个选项(行)时,它都应该加载/显示它旁边单元格上的某些信息。如果我单击另一个选项,它将显示不同的信息(从数据库加载) 像这样: 单击类别,显示信息。实际上,我应该在第二个单元格上有另一个子类别,但我相信如果我能解决这第一步,那么它将是一个应用于第二/第三个单元格的问题 更新: 我还考虑在该单元格中使用一个框架,一个php文档,每当用户单击其中一个选项时,它都会重新加载。这也是可

我有下面的问题,希望能有一些正确的方向。 简单来说:

我使用PHP从表中获取信息,并将其放入
标记中。 每当我单击其中一个选项(行)时,它都应该加载/显示它旁边单元格上的某些信息。如果我单击另一个选项,它将显示不同的信息(从数据库加载)

像这样:

单击类别,显示信息。实际上,我应该在第二个单元格上有另一个子类别,但我相信如果我能解决这第一步,那么它将是一个应用于第二/第三个单元格的问题

更新:
我还考虑在该单元格中使用一个框架,一个php文档,每当用户单击其中一个选项时,它都会重新加载。这也是可行的吗?

如果您不介意只支持启用了JavaScript的客户端,那么您需要的是。使用原始JavaScript完全可以实现Ajax功能,但我强烈建议使用库,例如,或

使用Ajax,当用户选择一个选项(例如,询问该选项的详细信息)时,您可以向服务器发送请求,然后使用调用结果更新页面该部分的内容

下面是一个使用jQuery的示例:

…还有一个使用原型:


…但是,同样,您可以对闭包或其他任何方法(或者,再次,直接使用原始JavaScript和XmlHTTPRequest对象及DOM方法)执行相同的操作。

如果您不介意只支持启用了JavaScript的客户端,那么您需要的是。使用原始JavaScript完全可以实现Ajax功能,但我强烈建议使用库,例如,或

使用Ajax,当用户选择一个选项(例如,询问该选项的详细信息)时,您可以向服务器发送请求,然后使用调用结果更新页面该部分的内容

下面是一个使用jQuery的示例:

…还有一个使用原型:


…但是,同样,您可以使用Closure或其他任何方法(或者直接使用原始JavaScript、XmlHTTPRequest对象和DOM方法)执行相同的操作。

您应该对数据库执行ajax调用(当然是通过PHP),以获取实实在在的数据并填充它

$('#category').change(function(){
    $('#problem').load('/url-to-fetch?selected=' + $('#category').val());
});
上面的示例是使用jQuery完成的(尽管您可以使用任何js库或普通javascript完成)


代码表示,当类别的选定值发生变化时,对
url执行ajax调用,以获取传递选定值的
,然后在
问题
区域显示详细信息(假设问题是textarea的id)。

您应该对数据库执行ajax调用(当然通过PHP)获取实时数据并填充它

$('#category').change(function(){
    $('#problem').load('/url-to-fetch?selected=' + $('#category').val());
});
上面的示例是使用jQuery完成的(尽管您可以使用任何js库或普通javascript完成)


代码表示,当类别的选定值发生变化时,对
url执行ajax调用以获取传递选定值的
,然后在
问题
区域显示详细信息(假设问题是textarea的id)。

取决于有多少选择或有多少数据,我认为你有2-3种基本方法

1) 如果有少量的选项/数据,则将所有可能的选项作为单独的div预加载到问题和解决方案单元格中,但使用css将它们全部隐藏(display:none)。当用户在类别中选择一个选项时,则取消隐藏相应的div

2) 上面第1条的一个变体是,您可以将所有数据加载到某个JS数组中,然后在选择类别时将数组中的项目推送到问题和解决方案中

3) 如果类别太多,可以使用AJAX调用运行mySQL查询(通过PHP),并用调用结果填充问题和解决方案单元格


我希望这是有帮助的

根据有多少选择或有多少数据,我认为这里有2-3种基本方法

1) 如果有少量的选项/数据,则将所有可能的选项作为单独的div预加载到问题和解决方案单元格中,但使用css将它们全部隐藏(display:none)。当用户在类别中选择一个选项时,则取消隐藏相应的div

2) 上面第1条的一个变体是,您可以将所有数据加载到某个JS数组中,然后在选择类别时将数组中的项目推送到问题和解决方案中

3) 如果类别太多,可以使用AJAX调用运行mySQL查询(通过PHP),并用调用结果填充问题和解决方案单元格


我希望这是有帮助的

1)是我的第一个方法,但在这种情况下,单元格2可能有20+个“问题”,而单元格3可能有相同的数字。我这样做是假设有很多可能性。谢谢。我还在考虑。1)是我的第一个方法,但在这种情况下,第2单元可能有20+个“问题”,第3单元可能有相同的数字。我这样做是假设有很多可能性。谢谢。我还在考虑。谢谢。这是考虑最多的方法之一。我只是告诉你,我选择了这种方法,而且效果非常好。谢谢。谢谢。这是考虑最多的方法之一。我只是告诉你,我选择了这种方法,而且效果非常好。非常感谢。