2017-12-25 14 views
-2

名前を検索する方法と、フルネームと複数の名前で結果を得る方法があります。PHPで名前を検索する

たとえば、

あなたはジョン検索

、 結果は、名前のジョンマックスでも登場することができないジョン として、ジョン・ドウとして登場します。

+1

データベーステーブルに名前がありますか? – halojoy

+0

具体的な問題を明確にしたり、詳細を追加して必要なものを正確に強調してください。現在書かれているとおり、あなたが求めていることを正確に伝えるのは難しいです。この質問を明らかにするには、[How to ask](https://stackoverflow.com/help/how-to-ask)ページを参照してください。 –

+0

はい、データベーステーブルに名前があります。 – user9139186

答えて

0
$search="John"; 
$names=["John Doe", "John Max", "Jane Doe", "Jane Max"]; 
foreach($names as $name)//iterates through the array 
{ 
if(stripos($name,$search)!=false)//stripos returns an int if its in the string, false if it isn't. 
{ 
    echo $name;//the entire name 
} 
} 

このコードは、後に名前全体をecho'ing、名前(foreachの)のあなたの配列を反復処理、及び、関係なく、例(striposを)検索文字列を含む名前を検索します(エコー)

0

使用WHERE LIKE

"SELECT * FROM your_table WHERE 
        name LIKE '%$name_query%' OR 
        lastname LIKE '%$lastname_query%'"; 
+0

https://stackoverflow.com/questions/47970218/searching-name-in-php#comment82910213_47970283 – Dharmang

0

あなたは、姓と名の組み合わせ、あなたのテーブルに複合列を使用します(それフルネーム名)と、検索のための1つを使用します。

SELECT * FROM your_table WHERE fullname LIKE '$name_query%' 
+0

時には過度に使用されている%両面を使用しないでください。 – Dharmang

+0

真実、私の間違い私はGomsからのクエリをコピーし、怠惰の袋のためにそれを修正した:D –

0

これを使用してすべての名前を返すことができます。 (PDO声明)。 短い名前の$shortnameを設定します。

$stmt = $pdo->prepare("SELECT * FROM yourtable WHERE name LIKE concat('%', :shortname, '%')"); 
$stmt->bindValue(':shortname', $shortname, PDO::PARAM_STR); 
$stmt->execute(); 
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC); 

あなたの名前を返すことができます。

$user['name']; 
関連する問題