数据库连接:$hostname_search = "127.0.0.1";
$database_search = "vod";
$username_search = "root";
$password_search = "admin";
要搜索其中的表A,搜索,表A下有很多字段要搜索。最好能模糊搜索,
还有字段中有URL能否输出为超链接, 自己试了很多此还是不行,求大神。
求全部代码。
先说搜索的语法:
是Like "[%] . 要搜索的关键字 . [%]";
这连个%是可选择的,如果加前面的%呢,意思就是前面可以任意的匹配:
比如:like "%world" --> 就会找到所有的以world 结尾的,以任意数量、任意内容开头的字符串了。
同理:like "world%" --> 当然会找到所有的以world 开头的,以任意数量、任意内容结尾的字符串了。
所以 like "%world%" --> 就会找到包含world的内容的字符串了。
"select * from A where 字段1 like '%world1%' or world2 like '%world%' or 字段1 like '%world3%'";
这里的world1、world2、world3指的就是关键字,or的意思是或者,也就是字段一搜索world1,字段二搜索world2,可以添加任意多个。
---------------------------------------------------------------------------------------------------------
下面说创建连接:
这个就比较简单了,可以这样写
<?php
echo '<a href="' . 字段一 . '">' . 字段二 . '</a>';
?>
这个就可以把字段一作为url地址了。当然,如果字段中没有加入http://的话可以加入,想这个样子:
<?php
echo '<a href="http://' . 字段一 . '">' . 字段二 . '</a>';
?>
就可以了。
有什么不懂的可以给我留言,我会尽快恢复。
是Like "[%] . 要搜索的关键字 . [%]";
这连个%是可选择的,如果加前面的%呢,意思就是前面可以任意的匹配:
比如:like "%world" --> 就会找到所有的以world 结尾的,以任意数量、任意内容开头的字符串了。
同理:like "world%" --> 当然会找到所有的以world 开头的,以任意数量、任意内容结尾的字符串了。
所以 like "%world%" --> 就会找到包含world的内容的字符串了。
"select * from A where 字段1 like '%world1%' or world2 like '%world%' or 字段1 like '%world3%'";
这里的world1、world2、world3指的就是关键字,or的意思是或者,也就是字段一搜索world1,字段二搜索world2,可以添加任意多个。
---------------------------------------------------------------------------------------------------------
下面说创建连接:
这个就比较简单了,可以这样写
<?php
echo '<a href="' . 字段一 . '">' . 字段二 . '</a>';
?>
这个就可以把字段一作为url地址了。当然,如果字段中没有加入http://的话可以加入,想这个样子:
<?php
echo '<a href="http://' . 字段一 . '">' . 字段二 . '</a>';
?>
就可以了。
有什么不懂的可以给我留言,我会尽快恢复。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2011-09-20
应该是可以的
你先$sql="show tables";将所有的表名拿回来
$result=mysql_query($sql);
foreach($result as $k)
{
$sql="select * from `".$k."` where 字段名 like xxx";
.................
}
输出字段里面包含有超链接,比较麻烦。估计要用正则滤出来url,然后再加上超链接才行。追问
你先$sql="show tables";将所有的表名拿回来
$result=mysql_query($sql);
foreach($result as $k)
{
$sql="select * from `".$k."` where 字段名 like xxx";
.................
}
输出字段里面包含有超链接,比较麻烦。估计要用正则滤出来url,然后再加上超链接才行。追问
详细点呢
第2个回答 2011-10-05
$sql="show tables";将所有的表名拿回来
$result=mysql_query($sql);
foreach($result as $k)
{
$sql="select * from `".$k."` where 字段名 like xxx";
.................
}
┏┓ ┏┓┏┓
┃┃┏━┳┳┳━┓ ┃┗┛┣━┳┳┓
┃┗┫┃┃┃┃┻┫ ┗┓┏┫┃┃┃┃
┗━┻━┻━┻━┛ ┗┛┗━┻━┛
没有问题请及时采纳哦!
百度一下——快乐你我!
谢谢----(*^__^*) 嘻嘻……
$result=mysql_query($sql);
foreach($result as $k)
{
$sql="select * from `".$k."` where 字段名 like xxx";
.................
}
┏┓ ┏┓┏┓
┃┃┏━┳┳┳━┓ ┃┗┛┣━┳┳┓
┃┗┫┃┃┃┃┻┫ ┗┓┏┫┃┃┃┃
┗━┻━┻━┻━┛ ┗┛┗━┻━┛
没有问题请及时采纳哦!
百度一下——快乐你我!
谢谢----(*^__^*) 嘻嘻……
参考资料:1314
本回答被提问者采纳第3个回答 2011-09-20
$link = mysql_connect($hostname_search ,$username_search,$password_search);
if (!$link) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db($database_search);
$sql ="select * from 表名 where 字段1 like '%搜索%' or 字段2 like '%搜索%' or 字段1 like '%搜索%'";
$query = mysql_query($sql);
while($row = mysql_fetch_array($query)) {
$result[] = $row;
}
mysql_close($link);
if (!$link) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db($database_search);
$sql ="select * from 表名 where 字段1 like '%搜索%' or 字段2 like '%搜索%' or 字段1 like '%搜索%'";
$query = mysql_query($sql);
while($row = mysql_fetch_array($query)) {
$result[] = $row;
}
mysql_close($link);