1

わかりました、私はこれに不慣れですが、これは私が必要なものです。特定の列を検索して検索したものを返すコードがありますが、このコードを修正してデータベース内の何かを検索し、対応する行情報を表示するにはどうすればよいですか。

<?php
//PHP CODE STARTS HERE

if(isset($_GET['submit'])){

    // Change the fields below as per the requirements
    $db_host="localhost";
    $db_username="megan";
    $db_password="megan";
    $db_name="megan";
    $db_tb_name="user";
    $db_tb_atr_name="location";

    mysql_connect("$db_host","$db_username","$db_password");
    mysql_select_db("$db_name");

    $query=mysql_real_escape_string($_GET['query']);

    $query_for_result=mysql_query("SELECT * FROM $db_tb_name WHERE 
    $db_tb_atr_name like '%".$query."%'");


    echo "<h2>Search Results</h2><ol>";
    while ($data_fetch=mysql_fetch_array($query_for_result))
    {
        echo "<li>";
        echo substr($data_fetch[$db_tb_atr_name], 0,160);
        echo "</li><hr/>";
    }
    echo "</ol>";

    mysql_close();
}
?>

これは私が持っているものです。ご覧のとおり、現在、場所の列で情報を検索しています。しかし、私はどの列でも、どの単語でも検索できるようにしたいと思っています。現在、そのキーワードが表示される発生数は表示されますが、残りの行情報は表示されません。これが理にかなっていることを願っています。

4

1 に答える 1

2

このSQLFiddle Demoを見てください。

あなたが得ることができる最も近いのは、私が知る限り、すべての列をCONCATして、好きなことをすることです。

SELECT * FROM Test WHERE CONCAT(cola,colb,colc,cold) LIKE '%keyword%'
于 2012-06-29T15:58:35.213 に答える