请教高手,关于纯空白和null如何返回列 本帖最后由 msnly 于 2011-07-01 12:19:25 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 SELECT * FROM 表 WHERE `express_no` IS NULL OR `express_no` = '' 1楼的朋友,我是个菜鸟,请把详细的关系式帮我列一下可以吗,如下$oc = array('state' => 'pay','team_id' => $id,'express_no' => '',); 就是$oc = array('state' => 'pay','team_id' => $id,'express_no' => '',);我该怎么写呢? $sql = "SELECT * FROM 表 WHERE `express_no` IS NULL OR `express_no` = ''";$result = mysql_query($sql);while($oc = mysql_fetch_array($reustl,MYSQL_ASSOC){ print $oc["state"]; print $oc["team_id"]; print $oc["express_no"];}是要这个么? select ifnull(express_no, 'NULL') from tbl_name 是的,我说的就是按这种格式$oc = array('state' => 'pay','team_id' => $id,'express_no' => '',);state和team_id这两个都没事,我主要想知道'express_no' = 什么才能检索出所有的数据表中的值为(null)和()为空的数据,请注意哦,是这两个都要检索出来哦就相当于,例如把值为25和值为66的两种数据都找到 不就查询express_no为空或者为空字符的情况吗,写SQL不就行了。什么25跟26!!!描述清楚。 不就查询express_no为空或者为空字符的情况吗,写SQL不就行了。对的,就是把express_no为空和为空字符的两种都要查询出来 <?phprequire_once(dirname(dirname(dirname(__FILE__))) . '/app.php');need_manager();need_auth('et');$id = abs(intval($_GET['id']));$team = Table::Fetch('team', $id);if ( $team['delivery']=='express' ) { $oc = array( 'state' => 'pay', 'team_id' => $id, 'express_no' => '', ); $orders = DB::LimitQuery('order', array( 'condition' => $oc, 'order' => 'ORDER BY pay_time DESC, id DESC', )); $kn = array( 'id' => '订单号', 'buy_id' => '支付序号', 'username' => '快递名称', 'email' => '请在此填入快递单号', 'realname' => '姓名', 'mobile' => '手机号码', 'address' => '地址', 'quantity' => '数量', 'condbuy' => '选项', 're' => '备注', 'date' => '支付时间', ); foreach($orders As $k=>$o) { $o['date'] = date('Y-m-d H:i', $o['pay_time']); $orders[$k] = $o; }这是完整的代码,麻烦大虾帮菜鸟改正成我所要想要的结果,我真的很菜,请不要介意。 order是表名,state和team_id和express_no都是字段名称,pay是值,$id是值,也就是当前项目的id,数据里边是120这样的存在,expreess_no的值分三种,1、填了快递运单号,就显示快递运单号,如:368405084858,这是申通的运单号,2、填入了快递名称,但没填快递运单号,值为空,3、也没填快递名称,也没填快递单号,也就是默认值,无任何操作,值为null 你这个数据库类是基于 ORM 的你不告诉我你的数据库类是从哪里来的,我怎么知道你这个类中还有什么方法可用呢?你的这段代码连过滤条件都没有 各位大虾,我真的不懂,什么叫DB类呀,我用的是mysql数据库,一个朋友帮忙解决了,以下是我个人的理解,说实话,我只是照着葫芦画瓢,没学过php,html也只是了解一点,所以说错了请各位大虾不要见笑。我只是凭自己的理解来修改网站,呵呵。我要实现的目的,就是筛选出当前项目的已付款的但未发货的订单。注明:id为当前产品项目的id,是个经常变动的数值,如5188,即当前项目是发布的第5188个产品项目。$id = abs(intval($_GET['id']));注明:team为产品项目的表名,delivery字段为产品类型,expreess值代表邮寄,coupon值为电子券。首先在表:team 中if ( $team['delivery']=='express' )在delivery字段筛选出所有符合express值的项目,也就是所有邮寄的项目。注明:order为产品订单的表名,state为付款字段,pay值代表已支付,nopay值代表未支付;team_id为项目字段,单表这个产品订单属于哪个项目,比如当前产品项目5188;express_id为快递公司字段,这里用不到,就不说了;express_no为运单号字段, 如:值为'368405084858',这是申通的运单号,对应express_id的值为(申通快递),值为''也就是为空,代表只填了快递公司名称,没有填运单号,值为'null'就是空字段,默认值,没有任何操作,也就是值为''和'null'都代表未发货。在数据库表 : order 中的state字段筛选出已付款的订单,也就是值为pay的订单,在express_no字段筛选出没有运单号的订单,也就是值为''和'null'的未发货订单,我的目的就达到了。在这以下的内容就跟本次问题无关了。下边是我朋友帮我修改的示例,给大家分享下:<?phprequire_once(dirname(dirname(dirname(__FILE__))) . '/app.php');need_manager();need_auth('et');$id = abs(intval($_GET['id']));$team = Table::Fetch('team', $id);if ( $team['delivery']=='express' ) { $oc = " state='pay' and team_id=".$id." and (express_no is null or express_no ='')"; $orders = DB::LimitQuery('order', array( 'condition' => $oc, 'order' => 'ORDER BY pay_time DESC, id DESC', )); $kn = array( 'id' => '订单号', 'buy_id' => '支付序号', 'username' => '快递名称', 'email' => '请在此填入快递单号', 'realname' => '姓名', 'mobile' => '手机号码', 'address' => '地址', 'quantity' => '数量', 'condbuy' => '选项', 're' => '备注', 'date' => '支付时间', ); foreach($orders As $k=>$o) { $o['date'] = date('Y-m-d H:i', $o['pay_time']); $orders[$k] = $o; }$oc = " state='pay' and team_id=".$id." and (express_no is null or express_no ='')";这一段就是我大家如何实现筛选出值为''为空和'null'空字符,也就是未发货的订单。 json转换数组时中文为NULL解决方案 php与asp的md5加密码不一样 网页视频打不开 哪位大哥帮我讲讲在windows下开发php,与在linux下开发的主要区别点与注意点啊 php开发模式流程问题 求一条SQL 语句 为什么我的验证码不同步呢??? 【求思路】PHP目录扫描,最大防止死循环的思路? 能否将一个表中的某一行的内容插入另一个表中 请问正则式怎么写 做过工商C2C的请进 求两个文件的相对路径
$oc = array(
'state' => 'pay',
'team_id' => $id,
'express_no' => '',
);
$oc = array(
'state' => 'pay',
'team_id' => $id,
'express_no' => '',
);
我该怎么写呢?
$sql = "SELECT * FROM 表 WHERE `express_no` IS NULL OR `express_no` = ''";
$result = mysql_query($sql);
while($oc = mysql_fetch_array($reustl,MYSQL_ASSOC){
print $oc["state"];
print $oc["team_id"];
print $oc["express_no"];
}
是要这个么?
'state' => 'pay',
'team_id' => $id,
'express_no' => '',
);state和team_id这两个都没事,我主要想知道
'express_no' = 什么
才能检索出所有的数据表中的值为(null)和()为空的数据,请注意哦,是这两个都要检索出来哦
就相当于,例如把值为25和值为66的两种数据都找到
对的,就是把express_no为空和为空字符的两种都要查询出来
require_once(dirname(dirname(dirname(__FILE__))) . '/app.php');need_manager();
need_auth('et');$id = abs(intval($_GET['id']));
$team = Table::Fetch('team', $id);if ( $team['delivery']=='express' ) {
$oc = array(
'state' => 'pay',
'team_id' => $id,
'express_no' => '',
);
$orders = DB::LimitQuery('order', array(
'condition' => $oc,
'order' => 'ORDER BY pay_time DESC, id DESC',
));
$kn = array(
'id' => '订单号',
'buy_id' => '支付序号',
'username' => '快递名称',
'email' => '请在此填入快递单号',
'realname' => '姓名',
'mobile' => '手机号码',
'address' => '地址',
'quantity' => '数量',
'condbuy' => '选项',
're' => '备注',
'date' => '支付时间',
); foreach($orders As $k=>$o) {
$o['date'] = date('Y-m-d H:i', $o['pay_time']);
$orders[$k] = $o;
}这是完整的代码,麻烦大虾帮菜鸟改正成我所要想要的结果,我真的很菜,请不要介意。
你不告诉我你的数据库类是从哪里来的,我怎么知道你这个类中还有什么方法可用呢?你的这段代码连过滤条件都没有
我只是凭自己的理解来修改网站,呵呵。我要实现的目的,就是筛选出当前项目的已付款的但未发货的订单。注明:id为当前产品项目的id,是个经常变动的数值,如5188,即当前项目是发布的第5188个产品项目。
$id = abs(intval($_GET['id']));注明:team为产品项目的表名,delivery字段为产品类型,expreess值代表邮寄,coupon值为电子券。
首先在表:team 中if ( $team['delivery']=='express' )在delivery字段筛选出所有符合express值的项目,也就是所有邮寄的项目。注明:order为产品订单的表名,state为付款字段,pay值代表已支付,nopay值代表未支付;team_id为项目字段,单表这个产品订单属于哪个项目,比如当前产品项目5188;express_id为快递公司字段,这里用不到,就不说了;express_no为运单号字段, 如:值为'368405084858',这是申通的运单号,对应express_id的值为(申通快递),值为''也就是为空,代表只填了快递公司名称,没有填运单号,值为'null'就是空字段,默认值,没有任何操作,也就是值为''和'null'都代表未发货。
在数据库表 : order 中的state字段筛选出已付款的订单,也就是值为pay的订单,在express_no字段筛选出没有运单号的订单,也就是值为''和'null'的未发货订单,我的目的就达到了。在这以下的内容就跟本次问题无关了。下边是我朋友帮我修改的示例,给大家分享下:
<?php
require_once(dirname(dirname(dirname(__FILE__))) . '/app.php');need_manager();
need_auth('et');$id = abs(intval($_GET['id']));
$team = Table::Fetch('team', $id);if ( $team['delivery']=='express' ) {
$oc = " state='pay' and team_id=".$id." and (express_no is null or express_no ='')";
$orders = DB::LimitQuery('order', array(
'condition' => $oc,
'order' => 'ORDER BY pay_time DESC, id DESC',
));
$kn = array(
'id' => '订单号',
'buy_id' => '支付序号',
'username' => '快递名称',
'email' => '请在此填入快递单号',
'realname' => '姓名',
'mobile' => '手机号码',
'address' => '地址',
'quantity' => '数量',
'condbuy' => '选项',
're' => '备注',
'date' => '支付时间',
); foreach($orders As $k=>$o) {
$o['date'] = date('Y-m-d H:i', $o['pay_time']);
$orders[$k] = $o;
}$oc = " state='pay' and team_id=".$id." and (express_no is null or express_no ='')";
这一段就是我大家如何实现筛选出值为''为空和'null'空字符,也就是未发货的订单。