訂單php
『壹』 php裡面商城訂單查詢代碼怎麼寫
aaeer.com裡面的訂單查詢代碼:
訂單號:
訂單查詢
訂單號:
<input name="ono" type="text" id="ono" width="150" height="20" />//訂單號輸入框<a href="javascript:;" class="k_ajax" rel="{URL:'/portal/cart.php',CMD:'def',ono:$('#ono').val()}">訂單查詢</a> //ajax提交,並獲得訂單詳情。
ajax返回的數據,自己查一下代碼吧。
toymen發表於:11-11-08 22:59 5樓[回復] #Top#toymen
人氣:516
積分:3418
金幣:23620
KC元老
ajax查詢訂單狀態,添加到../portal/cart.php中。
/**
處理訂單反饋信息頁
*/
function king_ajax_def(){
global $king;
// setcookie('KingCMS_Cart',serialize($cart),time()+86400000,$king->config('inst'));$ono=kc_get('ono',2,1);
$array_black=str_split('<>'"%');
if(!$data=$king->db->getRows_one("select ono,oid,nstatus,kname,nnumber,ntotal,kfeedback,eid,nexpress from %s_orders where ono=$ono")){kc_error($king->lang->get('system/error/onoerr'));}
$oid=$data['oid'];
$status=$data['nstatus'];
$s='<table class="k_table_list" cellspacing="0">';$s.='<caption>'.$king->lang->get('portal/cart/prodinfo').'(請牢記您的訂單號,以便支付與查詢!)</caption>';$s.='<tr><th class="w150">'.$king->lang->get('portal/cart/youorders').'</th><td><strong class="red">'.$data['ono'].'</strong></td></tr>';$s.='<tr><th>'.$king->lang->get('portal/cart/prodname').'</th><td>'.$data['kname'].'</td></tr>';$s.='<tr><th>'.$king->lang->get('portal/cart/total').'</th><td>'.$data['nnumber'].'件</td></tr>';$s.='<tr><th>'.$king->lang->get('portal/cart/alltotal').'</th><td>'.number_format($data['ntotal'],2).'</td></tr>';$s.='<tr><th>'.$king->lang->get('portal/cart/rstatus').'</th><td>'.$data['nstatus'].'</td></tr>';$s.='</table>';
$s.='<p></p>';
$s.='<br/>';
$height=0;
if($status<3){
$s.='<p><a href="javascript:;" rel="{URL:''.$king->config('inst').'portal/cart.php',CMD:'payment',ono:'.$ono.',IS:1}" class="k_ajax">'.$king->lang->get('portal/orders/viewmethod').'</a></p>';}
kc_ajax($king->lang->get('portal/cart/myorders'),$s,0,'',500,310+($height*50));}
其中<td>'.$data['nstatus'].'</td></tr>'; 這句輸出的是訂單狀態的id數字,需要轉換為文字,不懂php,自己改吧。
數字對應的文字:
1:交易創建
2:等待買家付款
3:買家付款成功
4:發貨成功
5:確認收貨,交易成功
6:交易關閉,未完成超時關閉
7:修改交易價格成功
8:買家申請退款
9:退款成功
10:退款關閉
11:修改交易價格
『貳』 PHP 訂單修改
在表B中添加表A 訂單ID做外鍵 然後每次添加新訂單或者修改訂購數量事 都要調用一個方法 這個方法就是判斷訂單ID是否被重置 重置說明訂購數量改變了
『叄』 PHP在線訂單問題
如果您的PHP在線訂單是個獨立的系統,最簡單的辦法是網站前台做個跳轉鏈接改旅型,跳轉地址為php訂單系統首頁的地址,例如:/dd/index.php;
如果這個系統需要前台的表單傳值,您用DW設計好文本框之類的表單,get到php的處理頁;
織夢有個商品頻道,裡面也有訂單系統(比較簡單一點);
因為不知道您下載的PHP系統是什麼樣子的東東,解釋得太清楚核猜不鎮卜太可能,或者您可以給個下載鏈接我去下載回來測試下。
『肆』 PHP 檢查訂單是否有效。
真有1000條呀,那你的壓力可大哦,幾十、百來條我還有辦法對付,不過GET所有參數的總長度被限制在255個字元內,所以你暫時應該可以用我下面的方法:
$order_id = $_GET["id"];//獲取傳過來的訂單號。1000條理論上可行,不過效率可能虧塌很糟糕,不過銷余圓你可以放心毀橘的是GET傳不了那麼多。
$str = $order_id;
$array = explode(',', $str);//把傳過來的字元串轉換成數組。
$sql = mssql_query("select count(*) from new_orders where order_id = in($str)");
list($nums)=mysql_fetch_row($sql);
mysql_free_result($sql);
if ($nums!=count($array)) echo "提交的訂單中只有 $nums 個是有效的,請檢查!";
『伍』 php 訂單系統的工作流程
先把 貨物種類、數量、價格入庫到表中分別獲取其id
在把id插入和其他數據到另外一張表。
『陸』 php訂單統計 每天有n個訂單 每個訂單有Y個產品 每個產品有x個數量 怎麼能算出 每天售出多少個產品
這個可以用sql語句實現
例如這有2個表
訂單表---id號
產品表---id號,所屬訂單id號,商品類型,商品數量
那麼輸出的時候就這樣
SELECT SUM('商品數量') FROM 產品表 WHERE 所屬訂單id號 = '指定訂單'
這算出來的是該訂單的商品總量
你把今天所有訂單的商品數量加起來,就是每天出售的總量了,至於這個怎麼做,就是做個循環就好了
『柒』 php,訂單詳情表與訂單表怎麼關聯
訂單表裡面放訂單id,總得價格,下單人的信息,配送信息,折扣信息,訂單狀態,而訂單詳情裡面存放訂單中得商品,商品價格,商品sku信息等商品明細信息,同時也存訂單id,通過訂單id關系起來兩個表
『捌』 訂單超時,活動過期解決方案:php監聽redis鍵重復觸發引發事件
訂單超時,活動過期解決方案:php監聽redis鍵重復觸發引發事件
Redis的2.8.0版本之後可用,鍵空間消息(Redis Keyspace Notifications),配合2.0.0版本之後的SUBSCRIBE 可以完成這個定時任務的操作了,定時的單位是秒。
1.我們先訂閱頻道稱為 redisChat
2.現在,我們重新開啟個redis客戶端,然後在同一個頻道redisChat發布消息,訂閱者可以接收到消息。
接收到的消息如下:
3.Key過期事件的Redis配置
需要這里配置notify-keyspace-events的參數為「EX」 .X代表了過期事件。notify-keyspace-events 「Ex」保存配置後,重啟Redis的服務,使配置生效。
PHP Redis實現訂閱鍵空間通知
redis實例化類:
redis.class.php
1個
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18歲
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
//遇到類別重復的報錯,所有叫Redis2
classRedis2
{
private$redis;
publicfunction__construct($host= '127.0.0.1', $port= 6379)
{
$this->redis = newRedis();
$this->redis->connect($host, $port);
}
publicfunctionsetex($key, $time, $val)
{
return$this->redis->setex($key, $time, $val);
}
publicfunctionset($key, $val)
{
return$this->redis->set($key, $val);
}
publicfunctionget($key)
{
return$this->redis->get($key);
}
publicfunctionexpire($key= null, $time= 0)
{
return$this->redis->expire($key, $time);
}
publicfunctionpsubscribe($patterns= array(), $callback)
{
$this->redis->psubscribe($patterns, $callback);
}
publicfunctionsetOption()
{
$this->redis->setOption(\Redis::OPT_READ_TIMEOUT, -1);
}
}
過期事件的訂閱:
psubscribe.php
1個
2
3
4
5
6
7
8
9
10
11
12
13
14
15
require_once'./Redis.class.php';
$redis= new\Redis2();
// 解決Redis客戶端訂閱時候超時情況
$redis->setOption();
$redis->psubscribe(array('__keyevent@0__:expired'), 'keyCallback');
// 回調函數,這里寫處理邏輯
functionkeyCallback($redis, $pattern, $chan, $msg)
{
echo"Pattern: $pattern\n";
echo"Channel: $chan\n";
echo"Payl
oad: $msg\n\n";
//keyCallback為訂閱事件後的回調函數,這里寫業務處理邏輯,
//比如前面提到的商品不支付自動撤單,這里就可以根據訂單id,來實現自動撤單
}
設置過期事件:
index.php
1個
2
3
4
require_once'./Redis.class.php';
$redis= new\Redis2();
$order_id= 123;
$redis->setex('order_id',10,$order_id);
先用命令行模式執行 psubscribe.php
在瀏覽器訪問 index.php
效果如下:
『玖』 php 如何生成訂單號
訂單號一般是根據用戶ID,購買時間,商品ID生成的,
比如用戶ID:123,購買時間:1353364885,商品ID:567,
則訂單號可以是:123-1353364885-567