0

I have a text file file over 10k lines of random names (names.txt), and a Database containing user information (user_info)

The user_info database is structured similar to this:

user_id, name,           email,             DoB,           gender

   1,    John,           email@email.com,   01/01/1990       M
   2,    Tim,            email2@email.com,   01/01/1991       M

And so on..

What I'm basically trying to achieve is a name search using a txt document.

so when you upload the text document if a a name in there is 'Tim' it'll echo all the users called Tim in the user_info database along with their email, Date of Birth and gender.

(I have no Idea how to do this but I'm guessing something like this)

<form action="search.php" method="post" >
                         <input type="hidden" name = "submit" value="Search" />
                </form>


 <?php

 $namestxt = file("/names.txt");

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


      $getUsers = mysql_query("SELECT * FROM `user_info` WHERE `name` = '".$namestxt."'");

  while ($userInfo = mysql_fetch_assoc($getUsers))
  {

   echo $userInfo['name'].' . $userInfo['email'] . $userInfo['DoB']  . $userInfo['gender']<br/>';

  }


}


  ?>

I know this code is probably way off, but hopefully you can understand what I am trying to do here.

Any help, thanks.

4

3 に答える 3

0
$getUsers = mysql_query("SELECT * FROM user_info;");

while($userInfo = mysql_fetch_assoc($getUsers))
{
    if(in_array($userInfo['name'], $namestxt))
    {
        echo $userInfo['name'] . ' ' . $userInfo['email'] . ' ' . $userInfo['DoB'] . ' ' . $userInfo['gender'] . '<br />';
    }
    else
    {
        echo 'user not found';
    }
}
于 2013-04-12T15:08:25.900 に答える
0

$namestxtファイルから読み取った文字列の配列です。インデックスで要素をアドレス指定できます: $namestxt[0](ファイルの最初の行)。またはforeachでそれらを繰り返します。その後、SQL クエリを作成できますselect * from user_info where name in('Name1','Name2')

于 2013-04-12T14:57:43.433 に答える
0

クエリで「IN」を使用できるように、現在配列である $snamestext をコンマ区切りの文字列に変換する必要があります。

 $namestext = implode("'", $namestext);

 ......

 $getUsers = mysql_query("SELECT * FROM `user_info` WHERE `name` IN ('$namestxt')");

また、結果をエコーアウトしているときに、おそらくそれらをテーブルに整理し、プロセスを開始する前にそのテキストファイルが存在するかどうかを確認したいと思うでしょう.

于 2013-04-12T15:12:33.040 に答える