商品排行榜,只记录了用户的投票数,通过order by 投票数来实现排行,但现在需要制作一个查询功能,也就是说用户输入商品的名称,查询出商品的详细情况,这里面包含着商品的排行信息!如果按照一般的排序方法,查询出的商品永远是第一位,在先前的帖子中有高手给出答案,如下:不必要记录排名假定投票数记录在商品信息表中  
查询总排名用
set @mc:=0;
select *, @mc:=@mc+1 as mc from 表名 order by mc查询指定商品用
set @mc:=0;
select * form (select *, @mc:=@mc+1 as mc from 表名 order by mc) a where 名称='名称'
但是本人比较菜,始终无法将set @mc:=0加入到PHP的代码中,请问这样的查询应该如何插入到PHP的代码中?

解决方案 »

  1.   

    这要看是否支持多sql语句运行。另外,这可写在stored procedure里。
      

  2.   

    用的虚拟主机不知道怎么添加 存储过程,只能在PHP的SQL语句中执行查询
      

  3.   

    我是想对数据中的字段votes(投票数)进行排序,像上面那样写排序结果不对啊,不能体现按投票数排序呀
      

  4.   

    php 出于防止 sql 攻击的考虑,除定义存储过程外,不允许在sql指令串中出现一条以上指令
    所以需要分开来写
    $sql = "set @mc:=0";
    mysql_query($sql);$sql = "select *, @mc:=@mc+1 as mc from 表名 order by 排序键";
    mysql_query($sql);如何排序,用哪些字段进行排序,完全取决于你的需要。人家只是给出示例