在下面的代码中,我想在模态窗口中显示数据。我的目标是在模态对话框中显示搜索到的数据。实际结果是它们显示在表单上方。我已尝试了一些步骤但我无法生成预期的结果请帮助我。
<?php
$search = (isset($_POST['search']) ? $_POST['search'] : null);
mysql_connect("localhost", "root", "") OR die (mysql_error());
mysql_select_db ("slseatapp") or die(mysql_error());
$query = "SELECT * FROM coursemaster WHERE course_code LIKE '%$search%' or course_name like '%$search%'";
$result = mysql_query($query) or die (mysql_error());
$msg ;
if($result)
{
while($row=mysql_fetch_row($result))
{
$msg=$msg ."ID=".$row[0].",COURSE CODE=".$row[1].",COURSE NAME=".$row[2];
}
echo"<script>function overlay(){
el = document.getElementById('overlay');
el.style.visibility = (el.style.visibility == 'visible') ? 'hidden' : 'visible';
}function close() {
document.getElementById('overlay').style.visibility = 'hidden';
}</script>";
echo"<style>#overlay div {
width:300px;
margin: 100px auto;
background-color: #fff;
border:1px solid #000;
padding:15px;
text-align:center;
}</style>";
echo"<div id='overlay'>('$msg ');</div>";
}
else
{
echo "No result";
}
?>
<form action="look.php" method="post">
<center> SEARCH:<input type="text" name="search" placeholder="SEARCH"><br></center>
<center> <input type="submit" name="hhhh" class="btn-success btn"></center>
</form>
答案 0 :(得分:0)
一些tipps for you:尝试使用PDO而不是弃用的mysql函数,不要将PHP代码与html / js混合,不要将CSS与html混合,为了更好的浏览器兼容性使用jQuery而不是本机Javascript,不要使用弃用的HTML标签,如'center'-Tag,不要尝试构建自己的模态对话框,最好使用jQuery-UI,最后格式化你的代码。针对您的问题,调试代码并查看结果是否存在。您还可以检查控制台输出是否存在js-errors。
对我来说,看起来你的javascript代码尝试在浏览器呈现此元素之前获取overlay元素。将您的js代码放在html文档的末尾。你在哪里调用叠加功能?
另一个tipp:仅当$ search不为null并且在查询中转义用户变量时才触发搜索查询,例如使用mysql_real_escape_string或使用PDO编写语句,以防止sql注入。