我需要使用发送到模式窗口的ID从数据库表中加载数据。
基本上,当网格加载时,会有多列。特别是两个,称为CONTAINER_ID和WORKFLOW。
为WORKFLOW返回的所有内容都将是一个链接,该链接打开一个名为#mySVCModal的MODAL弹出窗口。这是示例代码:
while(($Row = mysql_fetch_assoc($QueryResult)) !== FALSE)
{
echo "<tr";
echo "<td style=\"width: 50px;\">{$Row[CONTAINER_ID]}</td>";
echo "<td style=\"width: 50px;\"><a class=\"open-container\"
data-toggle=\"modal\" href="#mySVCModal\"
data-cont=\"{$Row[CONTAINER_ID]}\">{$Row[WORKFLOW]}</a></td>";
echo "</tr>";
}
当用户单击{$ Row [WORKFLOW]}时,将打开一个模态窗口,其中包含同一行中的CONTAINER_ID。
这是实现这一目标的javascript:
echo "<script type=\"text/javascript\">
$(document).on(\"click\", \".open-Container\", function() {
var myContainer = $(this).data('cont');
$(\".modal-body #containerID\").val( myContainer );
});
</script>";
至此,模态窗口打开,我可以显示CONTAINER_ID。这是显示CONTAINER_ID的代码:
<div id="mySVCModal">
<form action="" method="POST">
<input type="text" name="containerID" id="containerID" class="containerID" />
*** more code here ***
</form>
</div>
所以没问题。 CONTAINER_ID显示在名为“ containerID”的INPUT字段中。
现在我需要做的是,当模式窗口打开时,“ containerID”被发送到PHP变量,该变量将从名为WORKFLOW_TABLE的数据库表中检索WORKFLOW信息。
当我尝试将containerID转换为PHP变量并将其回显时,什么都不显示:
<?php
$containerID = $_POST['containerID'];
echo "this is containerID " . $containerID; // only displays the text, not the $containerID
?>
我知道,一旦可以直接在上面获取代码以在ECHO中显示containerID,就可以对其进行查询。
因此,基本上,我需要做的是打开模式窗口时,PHP将获取containerID并运行“ SELECT * FROM WORKFLOW_TABLE where CONTAINER_ID ='containerID'“;
来自WORKFLOW_TABLE的内容应自动显示在各个INPUT字段中。我现在仅使用INPUT字段。那不是重点。
因此,总而言之,我需要使用容器ID来显示来自WORKFLOW_TABLE的内容的模式。
我希望我说的清楚。
请帮忙。
最佳答案
听起来您需要AJAX查询。
<script>
function loadData()
{
var xmlhttp;
if (window.XMLHttpRequest)
{
xmlhttp = new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET", "db_query.php?containerID = " + document.getElementById('containerID').getAttribute('value'), true);
xmlhttp.send();
}
window.onload = loadData;
</script>
<div id="myDiv"></div>
预先对不起任何可能的缺陷,我实际上没有运行它。