这是一个艰难的事情。
整个故事:我有一个用户注册和登录的页面。在数据库中,它们获得member_id
值(自动增加),此数据库为“users
”。因此,当用户无法订购项目的数据和他的member_id
进入另一个数据库时,请说“orders
”。在这个数据库中有关于他的产品和他的member_id的信息。因此,当用户点击按钮结账时,他将不得不进入一个页面,其中最后添加的项目将按其member_id排序显示
所以,请告诉我这个用户的最后一项条目。
我不知道我使用$_SESSION['SESS_MEMBER_ID']
的当前会话是否必须与数据库中的member_id
表进行比较才能识别此用户的最后一个条目。
说实话,我不知道应该怎么做。
我希望这不会令人困惑......:)
编辑:表格代码:
CREATE TABLE IF NOT EXISTS orders (
order_id int(11) NOT NULL,
Items text NOT NULL,
member_id text NOT NULL )
ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=latin1;
答案 0 :(得分:1)
您的表格orders
的结构是"错误",member_id
理想情况下应该具有与users
表格中相同的设置,int(11)
我猜测。所以你的表应该是这样的:
CREATE TABLE IF NOT EXISTS orders (
order_id int(11) NOT NULL,
Items text NOT NULL,
member_id int(11) NOT NULL )
ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=latin1;
至于选择用户订单最新项目,请尝试以下SQL:
SELECT * FROM orders WHERE member_id = [XYZ] ORDER BY order_id DESC LIMIT 1;
类似于此处的其他答案。将[XYZ]
替换为member_id。如果这在您的代码中不起作用,请确保在phpMyAdmin(或CLI等)中尝试此查询。
答案 1 :(得分:0)
您可以在会话中获取成员ID(如果不是),并且您可以通过使用以下mysql查询从order
(如果member_id存在于订单表中)表中获取此成员的最后一个条目
$sql=mysql_query("select max(`id`) from `orders` where member_id='".$_SESSION['member_id']."'");
答案 2 :(得分:0)
如果您想要orders
表中用户的最后一个条目,可以使用以下内容作为
select * from orders
where
member_id = ?
order by order_num desc limit 1
答案 3 :(得分:0)
您可以从表中获取最大ID,其中id将自动递增。 然后获取该id的表记录:
$no="select max(id) from table";
$no1=mysql_fetch_row($no);
$sql="select * from table where id=$no1[0]";
$a=mysql_fetch_row($sql);
答案 4 :(得分:0)
您需要使用orderby
select * from orders where member_id = 'Member ID' order by order_num desc limit 0,1