国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > PHP > 正文

在線競(jìng)拍系統(tǒng)的PHP實(shí)現(xiàn)框架(二)

2024-05-04 23:01:01
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
上回說(shuō)完了商品的列表顯示方法。下面來(lái)談?wù)勶@示商品詳細(xì)信息的方法,這與我們?cè)谡搲谐S玫娘@示帖子的方法大同小異。

********顯示詳細(xì)信息的文件***********
detail.php

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

//顯示商品詳細(xì)信息
//用全局變量來(lái)做,可以方便地取到多個(gè)字段的值。
//有id,名字,價(jià)格,介紹,當(dāng)前價(jià),單位,圖片,結(jié)束時(shí)間。
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(...)來(lái)做,但我習(xí)慣這樣分開(kāi),看起來(lái)是麻煩點(diǎn),不過(guò)清楚些,特別是有要處理的字段時(shí),這樣就很有必要了。

$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個(gè)買(mǎi)家信息
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個(gè)。

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個(gè)買(mǎi)家信息。
function showbuyer(){
global $buyer,$buyprice,$date,$num;

for($i=0;$i<$num;$i++){
echo "<tr><td width=25%>".$date[$i]."</td>";
echo "<td width=40%>".$buyer[$i]."</td>";
echo "<td width=35%>".$buyprice[$i]."</td></tr>";
}
}

readdetail();
readbuyer();

?>

  完成了上面的處理,就可以html中用<? echo $name?>或<? echo $price;?>等來(lái)取到要顯示的信息了,這些我就不詳述了。
  就是這句,要根據(jù)是否有圖片分別顯示文字或圖片。
<? if($image=="") echo "沒(méi)有照片"; else echo "<img src=photo/$image>"; ?>



  在顯示商品詳細(xì)資料時(shí),也應(yīng)讓用戶(hù)可以投標(biāo),所以此時(shí)要對(duì)用戶(hù)下的新價(jià)做出一個(gè)判斷,我比較懶,就直接用deamweaver來(lái)做這個(gè)表單的校驗(yàn)了,只把其中的英文說(shuō)明改成中文,不過(guò)由于在判斷新出價(jià)的方面有點(diǎn)特殊,所以對(duì)dw生成的函數(shù)做了一點(diǎn)點(diǎn)改動(dòng)。

<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+' 必須是數(shù)值.n';
if (test.indexof('inrange') != -1) { p=test.indexof(':');
min=test.substring(8,p); max=test.substring(p+1);
//**********改動(dòng)部分*********
var k=(num-min)/max;
//判斷要大于當(dāng)前價(jià),并且是當(dāng)前價(jià)+加價(jià)單位的整數(shù)倍
if (num<min || k != math.ceil(k) ) errors+='- '+nm+' 必須是大于 '+min+' 并且加價(jià)必須為 '+max+'的整數(shù)倍.n';
} } } //*******結(jié)束改動(dòng)部分********
else if (test.charat(0) == 'r') errors += '- '+nm+' 要填完整.n'; }
} if (errors) alert('發(fā)現(xiàn)錯(cuò)誤如下:n'+errors);
document.mm_returnvalue = (errors == '');
}
//-->
</script>

下面的事就簡(jiǎn)單了,還要有什么呢?顯示一下已結(jié)束競(jìng)標(biāo)的商品吧。這個(gè)功能的實(shí)現(xiàn)與顯示未結(jié)束的商品方法一樣,我就不羅嗦了。唯一的區(qū)別在于一是setcondition()條件的不同和在顯示結(jié)束競(jìng)價(jià)的商品詳細(xì)資料時(shí),沒(méi)有用戶(hù)出價(jià)的表單。


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

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

function addrecord(){
global $view;
//以下變量都是從上一個(gè)頁(yè)面的表單中得到的。
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';

//調(diào)用成員函數(shù)add()參數(shù)就是sql語(yǔ)句中的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");
}

?>

  好了,羅羅嗦嗦寫(xiě)了兩篇,不知道可不可以又加個(gè)幾百分哦。:)

  有什么問(wèn)題真心地請(qǐng)大家提出來(lái)討論,我可是把程序拿出來(lái)了,您見(jiàn)到什么不妥的不當(dāng)?shù)模汕f(wàn)不要吝嗇,記得告訴我一聲。

  我的email : [email protected]

  另外,如果你想要這個(gè)程序比較完整的代碼,也來(lái)個(gè)email,我寄給您。
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 焉耆| 利津县| 九台市| 库尔勒市| 都昌县| 剑川县| 杭州市| 灯塔市| 霸州市| 巫山县| 盐边县| 姜堰市| 孝感市| 阳西县| 和田县| 广宗县| 阜南县| 阿瓦提县| 永春县| 兰考县| 姚安县| 万盛区| 茶陵县| 崇礼县| 江都市| 和田县| 新闻| 开封县| 吉木萨尔县| 宁国市| 丹棱县| 大冶市| 阳泉市| 汾阳市| 天长市| 盱眙县| 灵石县| 连州市| 忻城县| 定陶县| 喜德县|