php 问题

[复制链接]
查看11 | 回复3 | 2010-8-27 15:26:14 | 显示全部楼层 |阅读模式
查询关键字相匹配的结果进行加粗描红











""){
$txt_tj=trim($_POST["txt_tj"]);

$strs=explode("*",$txt_tj);

while(list($name,$value)=each($strs)){
$sql=mysql_query("select * from tb_book where synopsis like '%$value%' or bookname like '%$value%' order by id desc");
$info=mysql_fetch_array($sql);
}}
if($info){
do{
?>



$txt_tj",$info[bookname]);
echo $string;
?>


$strings",$info[synopsis]);
echo $string;
?>
对不起,您检索的信息不存在!








[img][/img]


问题1:
$strs=explode("*",$txt_tj); 这个有什么用?
问题2:
if($info)
while($info=mysql_fetch_array($sql))
这两个是不是重复了 是不是可以去掉其中一个 对程序没多大的影响

回复

使用道具 举报

千问 | 2010-8-27 15:26:14 | 显示全部楼层
问题1:explode()是分割函数用的;$a="abc*def";$strs=explode("*",$a)以*为分割点将字符串分割成若干份存入数组$strs其中*可以换成空格等任何字符或汉字,作为分割点。问题2:不能随便去掉,因为if是条件语句,只有$info有值时候才会执行while语句这句跟if($info){while($info=mysql_fetch_array($sql)) }是等价的,只有一句执行语句时候,{}可以省略while是循环语句,此处就是一条条取出的意思因为mysql_fetch_array($sql)每次只能取一个记录多看看参考手册
回复

使用道具 举报

千问 | 2010-8-27 15:26:14 | 显示全部楼层
问题1:explode -- 使用一个字符串分割另一个字符串实例:<?php// 示例 1$pizza= "piece1 piece2 piece3 piece4 piece5 piece6";$pieces = explode(" ", $pizza);echo $pieces[0]; // piece1echo $piec
回复

使用道具 举报

千问 | 2010-8-27 15:26:14 | 显示全部楼层
explode把字符串变成数组,if是判断,而while是循环用的语句,先判断是不是真的,是真的就可以执行,这儿跟if用的一样不加{}的话,详细的参考手册!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行