我的页面上有一个按钮,显示有关特定项目的一些信息。我曾经将用户重定向到显示这些信息的页面,所以我只使用了Action= site.com/main?var=<?=$Var?...
但是,我已被要求将此信息显示在弹出窗口中。所以我在Div弹出窗口编码,但我真的不知道如何将数据发送到它上面。以下是此Div中的代码:
<?php
if(!empty($_POST['proj_id'])||!empty($_POST['task_uid']))
die("Invalid proj_id or task_uid.");
$query = "
SELECT pm.id,
pm.proj_id,
pm.task_uid,
pp.task_id,
pp.pipeline_name,
pm.proj_pipeline_order,
pcrs.gestor_projeto,
pcrs.prioridade,
pcrs.tecnologia,
pcrs.resp_programa,
eng.ativo
FROM projetos_main pm
INNER JOIN projetos_pipeline pp
ON pm.task_uid = pp.task_uid
RIGHT JOIN pcrs
ON pp.pcr = pcrs.num_doc
LEFT JOIN engcom.top_issues_main eng
ON pcrs.num_doc = eng.pcr
WHERE pm.pcr = '".$_GET['pcr']."'
ORDER BY pm.task_uid ASC
";
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_array($result);
?>
<tr>
<td>
<label style='top: 5px; font-weight: bold; text-align: center'>
PCR Information:
</label>
</td>
</tr>
<table style='margin:0 auto; margin-top: 45px;'>
<tr>
<td><b>Pipeline:</b></td>
<td><?=$row['pipeline_name']?></td>
</tr>
<tr>
<td><b>Project Position:</b></td>
<td><?=$row['task_id']?></td>
</tr>
<tr>
<td><b>Project Manager:</b></td>
<td><?=$row ['gestor_projeto']?></td>
</tr>
<tr>
<td><b>Portfolio Manager:</b></td>
<td><?=$row['resp_programa']?></td>
</tr>
<tr>
<td><b>Top Issue:</b></td>
<td><?=$row ['ativo']?></td>
</tr>
<tr>
<td><b>Technology:</b></td>
<td><?=$row ['tecnologia']?></td>
</tr>
</table>
正如你所看到的,我尝试在Div内部做一个Select。它最终没有奏效。此外,可能需要注意的是,此弹出窗口位于与主站点不同的文件中。这里的选择来自About.php
我有一个用于显示或隐藏弹出窗口的js:
function exibirAbout(){
document.getElementById('popupAbout').style.display = 'block';
}
function ocultarAbout(){
document.getElementById('popupAbout').style.display = 'none';
}
非常基本的代码,真的。这是调用该功能的按钮。它曾经位于将数据发送到新页面的表单内,但现在这个表单没有&#34; Action&#34;了。它看起来像这样:
<form method="post" target="popupAbout">
<input type="submit" class="submit" onclick="exibirAbout();" value="About"/>
</form>
我不知所措,老实说,我不知道该怎么做,我无法在网站上找到它。请记住,我在工作,不能使用Jquery,因为我们不在这里使用它。有什么想法吗?
放弃Div并使用Iframe会更好吗?这会解决任何问题吗?
答案 0 :(得分:1)
PHP代码在HTML / Javascript之前执行,因此如果您在div&#34;内执行查询&#34;则无关紧要。事实上,你的程序应该按照&#34;输入&#34;首先,然后&#34;处理&#34;最后&#34;输出&#34;。混合输出和处理时,可能会遇到问题(例如,如果要发送重定向标题)。
然后,您可以在生成网站时将所有数据写入(隐藏)div,并在特定事件上显示。但似乎您需要POST请求的信息...然后您的解决方案是AJAX(JS向PHP脚本发送请求而不重新加载整个页面)。在这种情况下,您可以动态添加结果。 请注意:AJAX是Javascript技术并不特定于jquery。您可能不想使用jquery,但您必须使用javascript。我推荐一个JS库,因为它让生活更轻松。
最后一个网站注意事项:不要使用&#34; onclick&#34;对于按钮,但是&#34; onsubmit&#34;对于表单 - 无需单击提交按钮即可提交表单!