在线竞拍系统的PHP实现框架(二)

<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
上回说完了商品的列表显示方法。下面来谈谈显示商品详细信息的方法,这与我们在论坛中常用的显示帖子的方法大同小异。

********显示详细信息的文件***********
detail. PHP

<? PHP
include "config.inc. PHP";

//显示商品详细信息
//用全局变量来做,可以方便地取到多个字段的值。
//有id,名字,价格,介绍,当前价,单位,图片,结束时间。
function ReadDetail(){
global $WARE_TABLE;
global $id,$name,$price,$description,$cprice,$unit,$image,$endtime;

$SQL="select id,name,description,price,unit,endtime,reply,curprice,photo from $WARE_TABLE where id='$id'";
$result=mysql_query($SQL) or die(mysql_error());

//下面这一句,也可以用list(...)来做,但我习惯这样分开,看起来是麻烦点,不过清楚些,特别是有要处理的字段时,这样就很有必要了。

$row=mysql_fetch_array($result);
$name=$row[name];
$price=$row[price];
$description=$row[description];
$unit=$row[unit];
$cprice=$row[curprice];
$endtime=date("Y-m-j",$row[endtime]);
if($row[photo]==1) $image=$row[id].".jpg";
else $image="";
}


//读最新10个买家信息
function ReadBuyer(){
global $BID_TABLE;
global $id,$buyer,$buyprice,$date,$num;

$SQL="select id,buyer,email,price from $BID_TABLE where parentid='$id' order by id desc";
$result=mysql_query($SQL) or die(mysql_error());
$k=mysql_num_rows($result);

$num=($k>10)? 10:$k; //判断一下,是不是多于10个。

for($i=0;$i<$num;$i++){
$row=mysql_fetch_array($result);
$buyer[]=$row[buyer];
$buyprice[]=$row[price];
$date[]=date("Y-m-j H:i:s",$row[id]);
}
}


//显示10个买家信息。
function ShowBuyer(){
global $buyer,$buyprice,$date,$num;

for($i=0;$i<$num;$i++){
echo "echo "echo "}
}

ReadDetail();
ReadBuyer();

?>

  完成了上面的处理,就可以html中用<? echo $name?>或<? echo $price;?>等来取到要显示的信息了,这些我就不详述了。
  就是这句,要根据是否有图片分别显示文字或图片。
<? if($image=="") echo "没有照片"; else echo "<img src=photo/$image>"; ?>



  在显示商品详细资料时,也应让用户可以投标,所以此时要对用户下的新价做出一个判断,我比较懒,就直接用deamweaver来做这个表单的校验了,只把其中的英文说明改成中文,不过由于在判断新出价的方面有点特殊,所以对dw生成的函数做了一点点改动。

<script language="JavaScript">
<!--
function MM_findObj(n, d) { //v3.0
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}

function MM_validateForm() { //v3.0
var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' 必须是正确的email地址.n';
} else if (test!='R') { num = parseFloat(val);
if (val!=''+num) errors+='- '+nm+' 必须是数值.n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
//**********改动部分*********
var k=(num-min)/max;
//判断要大于当前价,并且是当前价+加价单位的整数倍
if (num<min || k != Math.ceil(k) ) errors+='- '+nm+' 必须是大于 '+min+' 并且加价必须为 '+max+'的整数倍.n';
} } } //*******结束改动部分********
else if (test.charAt(0) == 'R') errors += '- '+nm+' 要填完整.n'; }
} if (errors) alert('发现错误如下:n'+errors);
document.MM_returnValue = (errors == '');
}
//-->
</script>

下面的事就简单了,还要有什么呢?显示一下已结束竞标的商品吧。这个功能的实现与显示未结束的商品方法一样,我就不罗嗦了。唯一的区别在于一是SetCondition()条件的不同和在显示结束竞价的商品详细资料时,没有用户出价的表单。


另外,我再给出添加新商品的方法吧。

<? PHP
include "config.inc. PHP";
include "tview.class. PHP";

function AddRecord(){
global $view;
//以下变量都是从上一个页面的表单中得到的。
global $name,$price,$unit,$year,$month,$day,$photofile,$intro;

$t=time();
$c=nl2br($intro);
$et=mktime(24,0,0,$month,$day,$year);

//判断一下是否有图上传了。
$ph=( $photofile!="none" and !empty($photofile) )? '1':'0';

//调用成员函数add()参数就是sql语句中的values()中的字串
$view->Add("'$t','$name','$c','$price','$unit','$et','0','$price','$ph'");

//如果有图片,拷到指定目录下。
if($ph=='1')
copy($photofile,"photo/$t.jpg");

}

if( $Submit){
$view= new TViewPage($WARE_TABLE,20);
AddRecord();
header("Location:manager.htm");
}

?>

  好了,罗罗嗦嗦写了两篇,不知道可不可以又加个几百分哦。:)

  有什么问题真心地请大家提出来讨论,我可是把程序拿出来了,您见到什么不妥的不当的,可千万不要吝啬,记得告诉我一声。

  我的email : ycshowtop@21cn.com

  另外,如果你想要这个程序比较完整的代码,也来个email,我寄给您。 <script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
昂酷拍卖环境要求: PHP环境:php 5.3+ 数据库:mysql PHP组件要求: memcache组件(建议) Zend Guard Loader组件(必须) 昂酷网络--专注于在线拍卖网站程序的研发 昂酷拍卖演示 前台演:http://paimai.oncoo.net 后台演示:http://paimai.oncoo.net/admin 昂酷网站 - 致力打造国内最成熟通用拍卖网站程序 官方网站:http://www.oncoo.net ********************************* --------昂酷拍卖具有以下四大优点------- 无限延伸 系统支持无限版块延伸,轻松解决商品的多样化拍卖。导航自由添加,不做定制也可以让您的网站是独一无的。 通用适用 系统支持无限级条件筛选和无限富文本扩展。无论您经营的是什么样的商品,只要后台配置相应筛选和扩展字段,轻轻松松达到要求! 操作方便 后台布局清晰、支持商品图片在线剪切、分类数据轻松添加、所需数据快捷查询、权限管理安全可靠。 安全可靠 打包已备份sql文件,在线解压zip数据文件;邮件发送sql备份,下载数据库备份文件;数据优化修复功能。 --------------后台版块及其功能介绍------------------------ 0、首页 显示一些需要管理员第一时间处理的信息,和一些常用操作的链接! 1、用户管理 对网站前台用户的增加、删除、修改和查询,对用户账户保证金或权限额度的充值、冻结、扣除和解冻。设置网站做过的推广渠道并获取用户注册的来源。 2、商品管理 商品管理类似仓库,可在此进行网站商品的配置,包括频道和分类的添加,筛选条件的添加,富文本扩展字段的添加、频道分类和筛选条件的关联以及频道分类和扩展字段的关联。以上配置完毕后就可以发布到拍卖。在商品列表可以选择发布到拍卖或者一口价。 3、拍卖管理 对各个状态拍卖的查询编辑(为了安全个别状态不允许进行修改和删除)。和配置拍卖默认的价格浮动,保证金收取方式(也可在具体拍品中进行设置)。 4、订单管理 订单和订单状态的查询和编辑。可配置各种订单的有效期。 5、友情链接管理 可对带图片和不带图片的友情链接进行发布和管理 6、文章管理 网站帮助文章、资讯文章的发布和管理,以及分类的添加和编辑。 7、广告管理 可添加和编辑广告位和广告,广告类型支持图片、flash、和代码。广告支持有效期。 8、支付管理 用来记录用户在网站充值记录和充值的状态,可添加第三方支付接口。目前支持六种常用支付接口 9、数据管理 用来管理网站数据库,可备份、还原、压缩、优化数据库。 10、权限管理 可添加后台用户和分配用户权限。方便多用户管理网站 11、系统配置 可设置网站的一些基本信息配置、邮箱配置、短信接口配置、安全标示配置、用户协议编辑和网站前台的导航修改和添加。 ----------------------------------其他--------------------------------- 如果想去掉网址中的‘index.php’,请在pplication\Common\Conf\config.php中URL模式'URL_MODEL'=> '2', 将的注释打开,默认URL_MODEL为1。 JS\CSS 压缩缓存:系统加入了minify压缩js、css缓存,为了和TP的分隔符分开,如果你要将你的js、css加入到minify中,你必须使用竖线“|”将多个文件分隔开。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值