如何使用表

时间:2017-09-20 10:56:06

标签: php jquery html mysql

我正在寻找这方面的一些初步方向,因为我似乎无法找到它。让我解释一下......我正在创建一个音乐网站,并有一个搜索栏。它会在用户输入时过滤信息。我不想为网站上的每首歌创建单独的.php文件。 (例如:song1.php,song2.php等......)。应该有一个PHP模板文件,它输出所有歌曲的网页。使用我的代码,当我尝试使用搜索栏进行搜索时,它会按预期打开模板文件,但它只使用mysql表中第一行的信息填充文件。这是表单,它在索引页面中:

<script type = "text/javascript "src = "jquery.js">
    <form class="navbar-form navbar-left" >
        <div class="form-group">
            <input type="text" class="form-control" id="search" placeholder="Search for songs, artists" autocomplete="off">
            <div id = "searchresults"> </div>

然后是search.js文件有两个任务,即检查是否已点击结果,以及用户是否按了一个键。它是这样的:

$('#search').keyup(function()
{
    var searchterm = $ ('#search').val();

    if (searchterm != '')
    {
        $.post('search.php', {searchterm:searchterm},
        function(data)
            {
                $('#searchresults').html(data);
            });
    }
    else{
        $('#searchresults').html('');

    }
});
$('#mylink').click(function(){
    var wanted = $('#mylink').val();
    $.post('/web/ztemplate.php', {wanted:wanted});
});

我认为这是一个有错误的人,但我无法弄清楚它在哪里。模板文件有这个PHP代码:

$search = $_POST['wanted']; 
$find = mysql_query("SELECT * FROM search WHERE title LIKE '%$search%'");
$row = mysql_fetch_assoc($find); $title = $row["title"];

有一个search.php文件,用于查询数据库以提供即时搜索的信息。它看起来像这样:

$search = mysql_real_escape_string(trim($_POST['searchterm']));
    if ($search == '' && ' '){
    echo 'No results found';
    }
    else {
    $find_videos = mysql_query("SELECT * FROM search WHERE keywords LIKE '%$search%'");
    $count = mysql_num_rows($find_videos);
    if ($count ==0){
        echo 'No Results found for '.$search;
    }
    else {
        while($row = mysql_fetch_assoc($find_videos)){
            $title = $row["title"];
            $link = $row["link"];
            echo "<a href = '$link'><h5 id = 'mylink'> $title <h5> </a> <hr /> ";
        }
    }
    }

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

为什么你不发送AJAX?

$('#search').keyup(function(){
    var searchterm = $ ('#search').val();
    if (searchterm != ''){
         $.ajax({
            type: 'POST',
            data: {
                    "searchterm": searchterm,
                    "_token":"{{ csrf_token() }}"
                },
            url: "{{URL::asset('yourPHP')}}",
                success: function(response){
                    $('#searchresults').html(response);
            }
        });
    }else{
        $('#searchresults').html('');
    }
});

<强> PHP

function searchSong($search =''){
    $search = (trim($_POST['searchterm']));
    $out='';
    if ($search == '' && ' '){
        echo 'No results found';
    }else {
        $sql = "SELECT * FROM search WHERE title LIKE '%$search%'";
        $data= DB::select($sql);
        $count = count($data);
        if ($count ==0){
            echo 'No Results found for '.$search;
        }else {
            foreach ($data as $key => $row) {
                    $title = $row["title"];
                    $link = $row["link"];
                    $out .= "<a href = '$link'><h5 id = 'mylink'> $title </h5> </a> <hr /> ";
            }
        }
    }
    return $out;
}