10/10/2018, 11:36
Cần giúp : Search trong database
em có 1 bảng database như sau :
username points
aa 9
...
bb 5
E muốn làm 1 form search đơn giản. mà trong đó ta có thể search cùng lúc nhiều username .
VD : Search : aa, bb
KQ : aa = 9
bb = 5
Đây là code của em nhưng nó không được. vẫn chỉ search được từng username thôi
username points
aa 9
...
bb 5
E muốn làm 1 form search đơn giản. mà trong đó ta có thể search cùng lúc nhiều username .
VD : Search : aa, bb
KQ : aa = 9
bb = 5
Đây là code của em nhưng nó không được. vẫn chỉ search được từng username thôi
Code:
<html>
<head>
<title>Search the Database</title>
</head>
<body>
<form action="search.php" method="post">
Search: <input type="text" name="term" /><br />
<input type="submit" name="submit" value="Submit" />
</form>
</body>
</html>
Code:
<?php
$hostname = "***x";
$data_username = "***x";
$data_password = "***x";
$data_basename = "***x";
mysql_connect($hostname, $data_username , $data_password );
mysql_select_db($data_basename );
$term = array( $_POST["term"] );
foreach ( $term as $test )
{
$sql = mysql_query("select * from members where username like '%$test%'");
while ($row = mysql_fetch_array($sql)){
echo '<br/> USERNAME: '.$row['username'];
echo '<br/> POINTS: '.$row['points'];
echo '<br/><br/>';
}
}
?>
Bài liên quan





// Return an array from $_POST["term"] $term = explode(',',$_POST["term"]);Nếu bạn dùng: $term = array( $_POST["term"] );
thì $term sẽ là, $term => $term["0"] = 'aa, bb' . Nên khi bạn dùng foreach cho array này, nó chỉ có 1 key và sẽ trả về aa, bb và SQl của bạn sẽ là:
$term => $term[0] = 'aa';
$term[1] = 'bb';
và SQL của bạn sẽ work theo như cách bạn nghì là, loop qua từng key của array.
Hope it helps,
VD :
aa
bb
Nghĩa là nhập văn bản theo từng dòng. không phải theo kiểu aa,bb
nhưng vẫn không được
//Joint tat ca user vào 1 string $username_list .= $_GET["aa"].' '; $username_list .= $_GET["bb"].' '; $username_list .= $_GET["cc"].' '; $username_list .= $_GET["dd"].' '; //Tạo array cho usernames $username_array = explode(' ',$username_list); //bây giờ dùng foreach như bên trên thôi$term = explode("\r\n",$_POST["term"]);
Cậu có rảnh không. mình muốn nhờ cậu viết giúp mình 1 soft. mình sẽ trả công cho cậu. có gì liên hệ mình nhé : YM : rongtrang_90