0

こんにちは、質問したいのですが、今私は検索エンジンを使い始めているので、ユーザー名でデータベースユーザーから検索エンジンを作成するための機能や方法、開始方法、または何を使用するかを提案できますか. 1つの記号を別の言葉で「k」と書くと、ユーザー名「k」で始まるすべてのユーザー名が検索されます。例: http://postimg.org/image/sg84ny3w3/

試した:

private function Search()
{
    global $database;

    if(isset($_POST['s'])) {
        if($_POST['s'] == '1' || $_POST['s'] == '2' || $_POST['s'] == '3')
            $type = $_POST['s'];
        $database->getSearchData($type, $_POST['xs']);
        }

    else if(!preg_match("/[^0-9A-Za-z]/", $_POST['xs'])){
        $error = "You entered invalid data";
        }

        return false;
}

html:

<div id="content">
<div style="padding:20px">
<?echo $error;?>
    <form action="index.php?mod=highscore&t=search"  method="POST" accept-charset="utf-8">
    <div class="title_box"><div class="title_inner">
            What are you searching for?     </div></div>
        <div class="title2_box"><div class="title2_inner">
        <p>
            <table width="80%">
                <tr>
                    <td><input type="radio" name="s" value="1"></td>
                    <td>Player</td>
                </tr>
                <tr>
                    <td><input type="radio" name="s" value="2"></td>
                    <td>Guild (Name)</td>
                </tr>
                <tr>
                    <td><input type="radio" name="s" value="3"></td>
                    <td>Guild (Guild Tag)</td>
                </tr>
                <tr>
                    <td>Text:</td>
                    <td colspan="2"><input type="text" name="xs" size="30" maxlength="30" value=""></td>
                </tr>
                <tr>
                    <td colspan="3"><input type="submit" value="Search" class="button3" name="search"></td>
                </tr>
            </table>
        </p>
    </form>
        </div></div>
<br />
<?if($functions->Search() == false) {?> 
    <div class="title_box"><div class="title_inner">
        Results </div></div>
    <div class="title2_box"><div class="title2_inner">
    <p>
                    <table width="50%">
            <tr>
                <td>Player</td>
                <td>Level</td>
                <td>Total honour</td>
            </tr>
            <tr><td class="f" colspan="2">No results</td></tr></table>  </p>
    </div></div>
    <?} else {?>
        <div class="title_box"><div class="title_inner">
        Results </div></div>
    <div class="title2_box"><div class="title2_inner">
    <p>
                    <table width="50%">
            <tr>
                <td>Player</td>
                <td>Level</td>
                <td>Total honour</td>
            </tr>
            <tr><td class="f" colspan="2"><?$functions->Search();?></td></tr></table>   </p>
    </div></div>
    <?}?>
</div>  

<script type='text/javascript'>var tickerArray = new Array();function doTicker(){
                                    n=new Date();
                                    if (tickerArray.length > 0)
                                    {
                                        for (i = 0; i < tickerArray.length; i++)
                                        {
                                            if (isNaN(document.getElementById(tickerArray[i]["id"])))
                                            {
                                                var e = document.getElementById(tickerArray[i]["id"]);
                                                s = tickerArray[i]["sek"];
                                                m = 0;
                                                h = 0;
                                                d = 0;
                                                if (s < 0)
                                                    e.innerHTML = "---";
                                                else
                                                {
                                                    var timeTXT = s + " s";
                                                    if (s > 59)
                                                    {
                                                        m = Math.ceil(s / 60);
                                                        s = s-m * 60;
                                                        timeTXT = m + " m";
                                                    }
                                                    if (m > 59)
                                                    {
                                                        h = Math.ceil(m / 60);
                                                        m = m - h * 60;
                                                        timeTXT = h + " h";
                                                    }
                                                    if (h > 24)
                                                    {
                                                        d = Math.ceil(h / 24);
                                                        h = h-d * 24;
                                                        timeTXT = d + " d";
                                                    }

                                                    e.innerHTML = timeTXT;
                                                    tickerArray[i]["sek"]--;
                                                }
                                            }
                                        }
                                    window.setTimeout("doTicker();",999);
                                }
                            }doTicker();</script>
</div>
4

2 に答える 2

1

SELECT * FROM users where username like 'k%' ユーザー名がkで始まるすべてのユーザーレコードを返します

SELECT * FROM user where username LIKE '%k%'

文字kを含むすべてのユーザーレコードを返します

http://dev.mysql.com/doc/refman/5.0/en/string-comparison-functions.html#operator_like

于 2013-04-05T20:43:21.147 に答える
0
  1. この簡単なコードを使用してください: http://www.simonerodriguez.com/ajax-form-submit-example/

  2. フォームの「on_submit」アクションを削除します。

  3. テキスト ボックスに属性 onKeyDown="xmlhttpPost('response_ajax.php, 'MyForm', 'MyResult', ''); return false;" を追加します。

  4. 3 番目のパラメーター「MyResult」は、php ファイルで出力したものになるため、「MyResilt」という div id = "MyResult"> /div> という名前の div に配置されます。

あなたのphpファイルは次のようなものを出力できます: echo "$Result"

それはあなたが望むことをします。

于 2013-04-05T20:45:39.280 に答える