我一直在寻找我的解决方案一段时间没有成功。我想我会问网络开发的精英......
我会尽力解释这个。
阵列:
$image_exts = array('jpg','jpeg','gif','png', 'bmp','webp');
我需要做的是这样的事情:
SELECT file_views
FROM files
WHERE file_owner='$user_id'
AND file_ext='$image_exts'
数据库中的“file_ext”字段可以包含一个文件的“jpg”和另一个文件的“mp4”...我只想在此示例中为图像计算视图..
感谢您的时间!
更新2:
function count_totalviews($user_id){
$image_exts = array('jpg','jpeg','gif','png','bmp','webp');
$image_array=implode(",", $image_exts);
$query = mysql_query("SELECT file_views FROM files WHERE file_ext IN ($image_array) AND file_owner='$user_id'");
$count=0;
while($row = mysql_fetch_assoc($query)){
$count = $row['file_views'] + $count;
}
return $count;
}
PHP警告:mysql_fetch_assoc():提供的参数不是有效的MySQL结果
不知道该怎么做......
答案 0 :(得分:2)
使用mysql的IN
,但请确保带括号的图片扩展名列表包含引号中的字符串。
您在更新2 的代码几乎就在那里,但您在这一行遇到了问题:
$image_array=implode(",", $image_exts);
$image_array
最终成为jpg,jpeg,gif,png,bmp,webp
,当您真正需要它'jpg','jpeg','gif','png','bmp','webp'
时,它才能在您的查询中使用。
用以下代码替换该行代码:
$image_array = "'" . implode("','", $image_exts) . "'";
保留其余代码,看看是否有效。
答案 1 :(得分:0)
使用 IN :
您可以使用 $ image_Array = implode(“,”,$ image_exts)从阵列中获取列表。
SELECT file_views FROM files WHERE file_owner ='$ user_id'AND file_ext IN('$ image_Array')