显示用户的上一个数据库条目

时间:2015-03-23 11:05:18

标签: php mysql

这是一个艰难的事情。 整个故事:我有一个用户注册和登录的页面。在数据库中,它们获得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;

5 个答案:

答案 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