2015-04-28 141 views
-2

如果输入一个值,系统将正常运行。问题是,当我输入多个值时,系统不显示任何输出。我需要用户可以批量输入数据并用空格分隔。我的代码有问题吗?使用PHP和mysql搜索功能

$studid = clean($_POST['studid']); 
$studid2 = $studid; 
$studid3 =explode(' ',$studid2); 
require("php/conn.php"); 

$sql=mysql_query("SELECT id,studid,name from student where studid in('". implode(',', $studid3)."') group by studid,name"); 

echo" 
<table> 
<thead><tr><th>NAME</th><th>IC NUMBER</th><th>ADDRESS</th><th>PHONE NUMBER</th><th>SOURCE</th></tr></thead><tbody>"; 

if(mysql_num_rows($q) > 0) 
{ 

    while($row=mysql_fetch_array($q)) 
    { 
    echo" 
    <tr> 
    <td>".$row['nama']."</td> 
    <td>".$row['nokp']."</td> 
    <td>".$row['alamat2']."</td> 
    <td>".$row['notel2']."</td> 
    <td>".$row['info']."</td> 
    </tr>"; 
    } 

    echo "</tbody></table></div>"; 
} 
+0

任何错误你...你可以通过回声查询简单地尝试和笏你检查。 –

+0

如果我输入一个值,系统将正常运行。输出将显示。示例输入:s123456但如果我输入的值超过1个,输出将不会显示。示例输入:s123456 s321 1111 2222 –

+0

打印您的查询并检查您得到'echo“的值SELECT studid,studid,名称“' –

回答

0
$studid4 = "'" . implode("','", $studid3) . "'"; 
+2

你会添加一个介绍性的段落来说明这里发生的事情吗?三个字符的胶水是干什么的?我们不鼓励只有代码的答案,因为我们认为他们自己并不特别说明问题。 – halfer