在PHP上编辑搜索结果

时间:2014-02-28 21:39:05

标签: php html

我正在尝试允许我网站的管理员端编辑会员详细信息。

我创建了搜索管理员,因此他/她可以通过姓名或姓氏搜索用户, 并且我想为每个搜索结果编辑链接,它将返回。

只是为了让你知道我真的不知道怎么做。 这是我的代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>search</title>
    <script src="jquery.js"></script>
    <script type="text/javascript">
        function serachq ()
        {
            var searchTxt= $("input[name='search']").val();

            $.post("search.php", {searchVal: searchTxt}, function(output){
                $("#output").html(output);      
            });   
        }
    </script>
</head>
<body>
    <form action="index.php" method="post"> 
        <input type="text" name="search" placeholder="search for members..." onkeydown="serachq();"/>
        <input type="submit" value=">>" />
        <br/>
        <br/>
        <div id="output">
        </div>    
</body>
</html>

这是PHP代码

<?php require_once("db_connection.php"); ?>
<?php 
    $output="";
    if (isset($_POST['searchVal']))
    {
        $searchq=$_POST['searchVal'];
        $searchq= preg_replace("#[^0-9a-z]#i","",$searchq);
        $query= mysql_query("SELECT * FROM member WHERE first_name LIKE '%$searchq%' OR last_name LIKE'%$searchq%'") or die ("could not search");
        $count = mysql_num_rows($query);
        if($count == 0){
            $output="there was no serach results!";
        }
        else 
        {
            while ($row= mysql_fetch_array($query)) 
            {
                $fname=$row ['first_name'];
                $lname=$row['last_name'];
                $id= $row['member_id'];
                $output.='<div>'.$fname.' '.$lname.' '.$id.'<a href="add-member.php?edit=<?php echo $query ['$id']; ?>">Edit Subject</a> </div>';
            }
        }    
    }
    echo ($output);
?>

2 个答案:

答案 0 :(得分:0)

你真的需要在将来更好地写出这个问题。具体来说,如果您收到错误提供错误。如果您希望获得certian结果,请告诉我们您的结果。那说得突出的是:

<?php echo $query ['$id'];

我想象你的意思:

<?php echo $query[$id];

以下部分代码已清理完毕:

while ($row = mysql_fetch_array($query)) 
{
    $fname = $row['first_name'];
    $lname = $row['last_name'];
    $id = $row['member_id'];
    $output .= "<div>{$fname} {$lname} {$id} <a href=\"add-member.php?edit={$query[$id]}\">Edit Subject</a></div>";
}

确保以一种允许您调试自己的代码的方式设置错误报告!下次我不必对这个问题进行投票,设置一个不好的先例,甚至回答:)

答案 1 :(得分:0)

如果我理解你的问题,你可以使用会话,将$searchq放在会话中,当你回来时,你可以进行查询表格会话

      if (isset($_POST['searchVal']) || isset($_SESSION['serachq'])) {
            if (isset($_POST['searchVal'])) {
                $searchq = $_POST['searchVal'];
                $_SESSION['serachq'] = $searchq;
            } else {
                $searchq = $_SESSION['serachq'];
            }
        }

或者您可以修改您的链接add-member.php?edit=<?php echo $query ['$id']; ?>&q=<?php echo urlencode()?>

您的后方网址也应该有&q=<?php echo urlencode()?>部分

       if (isset($_POST['searchVal']) || isset($_GET['q'])) {
            if (isset($_POST['searchVal'])) {
                $searchq = $_POST['searchVal'];
            } else {
                $searchq = urldecode($_GET['q']);
            }
        }

`