将一个PHP脚本与另一个PHP文件jQuery和HTML组合

将一个PHP脚本与另一个PHP文件jQuery和HTML组合,php,jquery,mysql,html,Php,Jquery,Mysql,Html,我有一个PHP搜索建议脚本,它使用MySQL数据库作为其后端,并使用jQuery将内容推送到搜索框页面。PHP当前位于suggest.PHP中,我的搜索框位于index.PHP上。我想将suggest.PHP中的PHP脚本放入index.PHP脚本代码中,但它似乎不起作用。为什么会这样 以下是我的suggest.php代码: <?php $database=new mysqli('localhost','username','password','database'); if(isse

我有一个PHP搜索建议脚本,它使用MySQL数据库作为其后端,并使用jQuery将内容推送到搜索框页面。PHP当前位于suggest.PHP中,我的搜索框位于index.PHP上。我想将suggest.PHP中的PHP脚本放入index.PHP脚本代码中,但它似乎不起作用。为什么会这样

以下是我的suggest.php代码:

<?php

$database=new mysqli('localhost','username','password','database');

if(isset($_POST['query'])){
$query=$database->real_escape_string($_POST['query']);
            if(strlen($query)>0){
                $suggestions=$database->query("SELECT name, value FROM search WHERE name LIKE '%".$query."%' ORDER BY value DESC LIMIT 5");
                if($suggestions){
                    echo '<ul id="suggest">';
                    while($result=$suggestions->fetch_object()){
                        echo '<li>'.$result->name.'</li>';                      
                    }
                    echo '</ul>';
                }
            }
        }
?>
以下是我的index.php代码:

<script type='text/javascript' src='js/jquery.js'></script>
<script type='text/javascript'>function lookup(a){if (a.length==0){$("#suggestions").hide();} else {$.post("suggest.php",{query:"" + a + ""},function (b){$("#suggestions").html(b).show();})}};</script>

<form id='search' method='post'>
<input type='text' id='query' onkeyup='lookup(this.value);'>
<div id='suggestions'></div>
</form>

看起来index.php创建了用户使用的界面,但suggest.php返回了查找建议。当您试图获取查找建议时,您不希望返回另一个接口副本,因此不能调用index.php代替suggest.php


另外,index.php不是一个真正的php文件,至少从您发布的内容来看是这样。它也可以是index.html

一旦PHP页面被发送出去,如果@bbg所说的是真的,那么如果不刷新页面,就无法在其中实现任何进一步的PHP代码。我建议您使用AJAX,它可以发送请求以获取suggest.php脚本,以便在index.php上执行。我还建议您将代码放在suggest.php中的函数中,我认为它们使代码变得漂亮