掌上电脑

查看完整版本: 在多个字段中创建搜索



ippbx
2009/09/18上午12:01
我使用了您的search-keyword.php教程,并试图对其进行修改以允许在多个字段中进行搜索。我有一张列出以下内容的表格:

id,mentee1,senior1,junior1,mentee2,senior2,junior2,mentee3,senior3,junior3,mentee4,senior4,junior4,mentee5,senior5,junior5(以及一些其他不重要的)

除了"id"all是个人的名字,可以显示在所有字段中,并且可以显示多个字段,即J Smith可以是mentee1和junior3。

我想搜索J Smith,并在所有条目中找到他。

这是我错误地修改代码的方式:

代码:全选
<?php
include("connectdb.php");

$ todo = $ _ POST ['todo'];
if(isset($ todo)和$ todo =="search"){
$ search_text = $ _ POST ['search_text'];
$ type = $ _ POST ['type'];

$ search_text = ltrim($ search_text);
$ search_text = rtrim($ search_text);

if($type<>"any"){
$query="从测试中选择*,其中mentee1和senior1和junior1和mentee2和senior2和junior2和mentee3和senior3和junior3和mentee4和senior4和junior4和mentee5和senior5和junior5 ='$ search_text'";
}else{
$kt=split(" ",$ search_text); //将字符串分隔为单词数组
//现在让我们生成sql
while(list($ key,$ val)= each($ kt)){
if($val<>" " and strlen($val) > 0){$q .= "mentee1和senior1和junior1和mentee2和senior2和junior2和mentee3和senior3和junior3和mentee4和senior4和junior4和mentee5以及senior5和junior5,例如'%$ val%'或";}

}// end of while
$ q = substr($ q,0,(strLen($ q)-3));
//这将从字符串中删除最后一个或。
$query="从测试中选择* $ q";
} // if else基于类型值的结尾
echo $query;
echo "<br><br>";
$ nt = mysql_query($ query);
echo mysql_error();
while($ row = mysql_fetch_array($ nt)){

<? $display_block .="
<tr><td>$id</td><td>$mentee1</td><td align=center>$senior1</td><td align=center>$junior1</td><td>$mentee2</td><td>$senior2</td><td>$junior2</td><td>$mentee3</td><td>$senior3</td><td>$junior3</td><td>$mentee4</td><td>$senior4</td><td>$junior4</td><td>$mentee5</td><td>$senior5</td><td>$junior5</td></tr>
";

while($ row = mysql_fetch_assoc($ result)){

echo "$display_block";

echo '<td width="50"><a href="update.php?id ='。$ row ['id']。'">Update</a></td></tr></table>';

echo "<hr>";
}
//如果表单已提交则结束

}else{
echo "<表单方法=后动作=''><输入类型=隐藏名称=待办事项值=搜索>
<输入类型=文本名称= search_text><输入类型=提交值=搜索><br>
</form>
";

Alemcherry
2009/09/21上午03:20
$ query ="从测试中选择*,其中mentee1和senior1和junior1和mentee2和senior2和junior2和mentee3和senior3和junior3和mentee4和senior4和junior4和mentee5和senior5和junior5 ='$ search_text'";


您需要先学习基本的SQL。这不是放荡的问题,您需要正确掌握基本知识。