0

在下面的代码中,我想在模态窗口中显示数据。我的目标是在模态对话框中显示搜索到的数据。实际结果是它们显示在表单上方。我尝试了一些步骤,但我无法产生预期的结果请帮我。

<?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>  
4

1 回答 1

0

给你的一些提示:尝试使用 PDO 代替不推荐使用的 mysql 函数,不要将 php 代码与 html/js 混合,不要将 css 与 html 混合,为了更好的浏览器兼容性,请使用 jQuery 而不是本机 Javascript,也不要使用已弃用的 HTML-Tags,例如“center”-Tag,不要尝试构建自己的模态对话框,最好使用 jQuery-UI,最后格式化代码。对于您的问题,调试您的代码并查看结果是否存在。您还可以检查控制台输出是否存在 js 错误。

对我来说,您的 javascript 代码在浏览器呈现此元素之前尝试获取覆盖元素。将您的 js 代码放在 html 文档的末尾。你在哪里调用覆盖功能?

另一个提示:仅当 $search 不为 null 并在查询中转义用户变量时才触发搜索查询,例如使用 mysql_real_escape_string 或使用 PDO 准备的语句,以防止 sql 注入。

于 2013-09-15T20:20:22.673 回答