当前位置:首页 » 编程语言 » ecshopordersql
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

ecshopordersql

发布时间: 2023-03-24 11:40:29

① ecshop操作数据库有哪些方法

我们将结合eschop二次开发一些常见的开发例子.来谈谈ecshop的数据库类和方法是如何处理数据库。让我们熟练掌握ecshop数据库的操作.
全局数据库实例化类 $GLOBALS['db']
1:ecshop的数据库类实例子化对象为$db;表的实例化对象为$ecs
2:如何取得ecshop某个表中多行数据.该使用方法getAll()
$res =$db -> getAll();
3:如何取得ecshop某一行的数据.该使用getRow()方法,比如
$row = $db-> getRow();
4:如何取得某一列的值.该使用方法getCol()
$res = $db->getCol();
5:如何取得指定的位置的几个数据.使用selectLimit()
比如取得从第10行起的5条数据
$db -> selectLimit($sql , 10,5);
6:修改和插入一个数组.该使用autoExecute()方法,而且必须是一个数组.
$db->autoExecute($ecs->table('link_goods'),$row, 'INSERT');也可以是UPDATE
8:如何获得一个值得.使用getOne()
$name = $db -> getOne("select user_name from".$ecs->table('users')." where user_id = 1");
9:如何执行修改和删除数据.使用query()也可以。
比如$db -> query("update".$ecs->table('users')." setuser_name = '222' where user_id = 33");

② ecshop数据库订单order_info 数据表 是如何把数据插进去的插入的sql语句在哪

alter table order_info add 供货商ID 属性;轿旁 属性是供货商ID这个属性,洞铅如果是ID,应纳帆好该是number

③ ECSHOP修改商品分类后出现以下问题,求解决

用默认模板执行数据库看看是不是数型散轿据库造成的问题,如果不是,那就用默认的模板一点一点的往里面拿,知道找到出问题的文件。。注意默认卜肆模板是没掘卖有解决jquery与js冲突的

④ 我用 ecshop 做二次开发的时候 商品 缺货 时,加入购物车出现报错。testshop是数据库名。大侠帮忙看一下

商品缺货的时候加入购物车ecshop是弹出对话框提示缺货的。薯谈
但是您这个sql语句中
AND og.goods_id = ORDER BY oi.add_time DESC LIMIT 5
这个位置数拦碰里,goods_id显然没有传过来。所以会报错衡模

⑤ 我在虚拟机里装好ECShop后想导入模板,点SQL查询后复制显示参数不合法怎么解决呀

1,在网店信息的最下面商店公告文本域中看看是否有代码,删除就可以了

2,检查下是否用了全角输入。
3,打开 admin/sql.php 找到下面这段代码,删掉即可。如图所示:

4,通过虚拟主机数据库管理,phpmyadmin在里面执行

⑥ 如何解决ecshop订单修改价格后无法再次付款问题

该疑问的解决办法是找到admin/order.php中的以下代码
/**
* 更新订单对应的 pay_log
* 假如未付出,修正付出金额;不然,生成新的付出log
* @param int $order_id 订单id
*/
function update_pay_log($order_id)
{
$order_id = intval($order_id);
if ($order_id > 0)
{
$sql = "SELECT order_amount FROM " . $GLOBALS['ecs']->table('order_info') .
" WHERE order_id = '$order_id'";
$order_amount = $GLOBALS['db']->getOne($sql);
if (!is_null($order_amount))
{
$sql = "SELECT log_id FROM " . $GLOBALS['ecs']->table('pay_log') .
" WHERE order_id = '$order_id'" .
" AND order_type = '" . PAY_ORDER . "'" .
" AND is_paid = 0";
$log_id = intval($GLOBALS['db']->getOne($sql));
if ($log_id > 0)
{
/* 未付款,更新付出金额 */
$sql = "UPDATE " . $GLOBALS['ecs']->table('pay_log') .
" SET order_amount = '$order_amount' " .
"WHERE log_id = '$log_id' LIMIT 1";
}
else
{
/* 已付款,生成新的pay_log */
$sql = "INSERT INTO " . $GLOBALS['ecs']->table('pay_log') .
" (order_id, order_amount, order_type, is_paid)" .
"VALUES('$order_id', '$order_amount', '" . PAY_ORDER . "', 0)";
}
$GLOBALS['db']->query($sql);
}
}
}

用以下坦皮代码将其覆盖
/**
* 更新订单对应的 pay_log
* 假如未付出,修正付出金额;不然,生成新的付出log
* @param int $order_id 订单id
*/
function update_pay_log($order_id)
{
$order_id = intval($order_id);
if ($order_id > 0)
{
$sql = "SELECT order_amount FROM " . $GLOBALS['ecs']->table('order_info') .
" WHERE order_id = '$order_id'";
$order_amount = $GLOBALS['db']->getOne($sql);
if (!is_null($order_amount))
{
$sql = "SELECT log_id, order_amount FROM " . $GLOBALS['ecs']->table('pay_log') .
" WHERE order_id = '$order_id'" .
" AND order_type = '" . PAY_ORDER . "'" .
" AND is_paid = 0";
$log_info =$GLOBALS['db']->GetRow($sql);
if ($log_info && $log_info['让虚差order_amount'] == $order_amount)
{
$log_id = intval($log_info['log_id']);
/* 未付款,更新付出誉汪金额 */
$sql = "UPDATE " . $GLOBALS['ecs']->table('pay_log') .
" SET order_amount = '$order_amount' " .
"WHERE log_id = '$log_id' LIMIT 1";
}
else
{
/* 已付款,生成新的pay_log */
$sql = "INSERT INTO " . $GLOBALS['ecs']->table('pay_log') .
" (order_id, order_amount, order_type, is_paid)" .
"VALUES('$order_id', '$order_amount', '" . PAY_ORDER . "', 0)";
}
$GLOBALS['db']->query($sql);
}
}
}

⑦ ecshop订单打印的时候如何获得商品总数 如 序号 数量 1 1 2 2 3 3 合计 6

首页的推荐商品包括热销推荐和促销三个文件

只隐碰闷对热销商品为例

第一步:打开根目录/includes/lib_goods.php文件。在文件末尾添加方法(需要注意这个方法如果添加过了就不要再添加了)

function selled_count($goods_id)
{
$sql= "select sum(goods_number) as count from ".$GLOBALS['ecs']->table('order_goods')."where goods_id ='".$goods_id."'";
$res = $GLOBALS['db']->getOne($sql);
if($res>0)
{
return $res;
}
else
{
return('0');
}
}

第二步:搜索get_recommend_goods方法

在这个方法中找到这句话

$goods[$idx]['url'] = build_uri('goods', array('gid' => $row['goods_id']), $row['goods_name']);

在这句话下添加 $goods[$idx]['count'] = selled_count($row['goods_id']);

第三步:在模版的library/recommend_hot.lbi中在需要的地方添加

<div class="index_hotbg">售出 <strong>{$goods.count}</strong> 瓶</div>

首页分类下的商品,实现“已售出”。
统计销售量的方法如下:
第一步:分类下商品也需要修改lib_goods.php。找到分类下的商品

assign_cat_goods方法。在

$goods[$idx]['url'] = build_uri('goods', array('gid' => $row['goods_id']), $row['goods_name']);句话下添加

$goods[$idx]['count'] = selled_count($row['goods_id']);

第二步:需要修改模版文件吵伏/library/cat_goods.lbi。在需要的地方添加

销售量:{$goods.count}

在商品分类页面调用已售出

第一步:灶弯修改根目录下category.php
找到category_get_goods方法
函数中foreach循环添加
$arr[$row['goods_id']]['count'] = selled_count($row['goods_id']);
第二步:文件的最后部分添加函数
function selled_count($goods_id)
{
$sql= "select sum(goods_number) as count from ".$GLOBALS['ecs']->table('order_goods')."where goods_id ='".$goods_id."'";
$res = $GLOBALS['db']->getOne($sql);
if($res>0)
{
return $res;
}
else
{
return('0');
}
}
第三步:
在模版文件goods_list.lbi中需要的地方添加
销售量:{$goods.count}

说明:搜索页面需要修改search.php

⑧ ECShop后台商品列表无法添加新商品,提示MySQL server error。

是数据库出错,ecs_goods表

⑨ ECSHOP打开存在的商品详情页没有问题,但是打开不存在的商品页数据库报错,不返回404!

g.goods_id = 这后面缺少一个值

⑩ ecshop点击商品分类提示数据库错误

数据库表缺少字段了,应该是模板加过什么插件了