成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

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

瀏覽:98日期:2023-12-23 17:02:38
上回說(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)讓用戶可以投標(biāo),所以此時(shí)要對(duì)用戶下的新價(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)有用戶出價(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 : ycshowtop@21cn.com 另外,如果你想要這個(gè)程序比較完整的代碼,也來(lái)個(gè)email,我寄給您。
標(biāo)簽: PHP