Heim  >  Artikel  >  Backend-Entwicklung  >  php mysql怎么按周点击率排名给个详细的我是自学的新手

php mysql怎么按周点击率排名给个详细的我是自学的新手

WBOY
WBOYOriginal
2016-06-23 14:04:351057Durchsuche

我用了多表查询可是出现这句Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource 


回复讨论(解决方案)

出现这样的错误,就表示你的查询指令有错误
方便的话请帖出来,并做好说明

表:tb_members 字段:mid, shopname是店名,shoptype是分类
表:tb_ranking 字段:rid ,mid, hits是点击率, date是时间
$val是从主页传过来的分类
根据店名按周点击率排名
$sql = mysql_query("SELSEC tb_members.shopname,tb_members.mid, tb_ranking.* from tb_ranking INNER JOIN tb_members  ON tb_members.mid=tb_ranking.rid AND tb_members.shoptype='$val' AND week(tb_ranking.date)=week(now())  ORDER BY  sum(tb_ranking.hits) DEST");

能这么写么?没见过
一般都写作
$sql = mysql_query("SELSEC tb_members.shopname,tb_members.mid, tb_ranking.* from tb_ranking INNER JOIN tb_members  ON tb_members.mid=tb_ranking.rid  WHERE tb_members.shoptype='$val' AND week(tb_ranking.date)=week(now())  ORDER BY  sum(tb_ranking.hits) DEST");

还是不行。这个多表查询我没用过。
有没有其他方法按一周点击率排列店名

这样吧
你 mysql_query($sql) or die(mysql_error());
贴出错误信息

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\AppServ\www\shihui\shoplist.php on line 83
暂无内容


下面是我的代码
$sql = mysql_query("SELSEC tb_members.shopname,tb_members.mid, tb_ranking.* from tb_ranking INNER JOIN tb_members  ON tb_members.mid=tb_ranking.rid WHERE tb_members.shoptype='$val' AND week(tb_ranking.date)=week(now())  ORDER BY  sum(tb_ranking.hits) DEST");

 $value=mysql_fetch_array($sql);/*这里是on line 83的地方*/
if($value==false){
echo"暂无内容";
}else{
 do{
 ?>


  店名 : 
" href="shop.php?id=">
         echo $value[shopname];  
?>

  介绍 :


    echo substr($value[present],0,255);
?>


  }
while($value=mysql_fetch_array($sql));
 }
 ?>

$sql = mysql_query("SELSEC tb_members.shopname,tb_members.mid, tb_ranking.* from tb_ranking INNER JOIN tb_members  ON tb_members.mid=tb_ranking.rid WHERE tb_members.shoptype='$val' AND week(tb_ranking.date)=week(now())  ORDER BY  sum(tb_ranking.hits)  DEST");
应该是:DESC

SELSEC tb_members.shopname,tb_members.mid, tb_ranking.* from tb_ranking INNER JOIN tb_members  ON tb_members.mid=tb_ranking.rid WHERE tb_members.shoptype='$val' AND week(tb_ranking.date)=week(now())  ORDER BY  sum(tb_ranking.hits) DEST

你执行你的sql是否报错的。

先检查一下你的sql语句是否正确,mysql执行顺序是正确的,先query,然后mysql_fetch_array()

DESC改后还是一样
我是第一次用这多表查询语句

没有group by ,可用sum 吗? 建议贴出
$sql = mysql_query("SELSEC tb_members.shopname,tb_members.mid, tb_ranking.* from tb_ranking INNER JOIN tb_members  ON tb_members.mid=tb_ranking.rid WHERE tb_members.shoptype='$val' AND week(tb_ranking.date)=week(now())  ORDER BY  sum(tb_ranking.hits) DEST") or die(mysql_error());

后的错误信息

错误信息You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELSEC tb_members.shopname,tb_members.mid, tb_ranking.* from tb_ranking INNER JO' at line 1

$sql = mysql_query(" SELSEC tb_members.shopname,tb_members.mid, tb_ranking.* from tb_ranking INNER JOIN tb_members  ON tb_members.mid=tb_ranking.rid WHERE tb_members.shoptype='$val' AND week(tb_ranking.date)=week(now())  ORDER BY  sum(tb_ranking.hits) DEST") 中的 SELECT 写错了

错误信息
No database selected

问题还挺多啊
No database selected 
这个是说没有选择数据库,即没有 mysql_select_db('数据库名') 这句 或者出错了。

我在这一页先用查询个单表的可以,换成查询多表就不行

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn