伙计们,我在从另一个表中选择日期时遇到了问题。 基本上我有这样的表
1) users table,
2)follow table,
3) photos table, etc.
我正在尝试从照片中选择日期,但它不起作用。 这是我的 mysql 查询。在这里,我从关注表中选择 followers,其中 follower = the user_id
followers_photo.php
$the_user = mysql_query("SELECT * FROM users WHERE username = '$getuser'");
$tuser=mysql_fetch_array($the_user);
$isuser = mysql_num_rows($the_user);
$tu_id = $tuser['id'];
////users whos following Me
$followers = mysql_query("SELECT * FROM follow WHERE followers ='$tu_id' order by id desc");
$f_s_count = mysql_num_rows($followers);
在这里,我根据照片的日期和以下 ID 检索照片。
index.php
include('func/followers_photos.php');
if($f_s_count > '0')
{
while($uim = mysql_fetch_assoc($followers)){
$i_id = $uim['following'];
$followers_image = mysql_query("SELECT * FROM photos WHERE user_id = '$i_id' order by date");
$disimg = $fimage['img'];
$disid = $fimage['id'];
$distime = $fimage['date'];
$i_like=$fimage['likes'];
//$i_unlike=$fimage['down'];
$likes_ip = mysql_query("SELECT * FROM voting_ip WHERE mes_id_fk = '$disid'");
$ipadd = mysql_fetch_assoc($likes_ip);
$check_likes= $ipadd['mes_id_fk'];
$user_follow_details = mysql_query("SELECT * FROM users WHERE id = '$i_id'");
$ufde = mysql_fetch_assoc($user_follow_details);
$uiname = $ufde['username'];
$uinim = $ufde['img'];
$ip=$_SERVER['REMOTE_ADDR'];
结束括号在 html 代码之后。
上面的代码有效,但我无法根据照片的日期对照片进行排序,因为我是根据 ID 从表中选择数据。
这是我到目前为止尝试过的。
$the_user = mysql_query("SELECT * FROM users WHERE username = '$getuser'");
$tuser=mysql_fetch_array($the_user);
$isuser = mysql_num_rows($the_user);
$tu_id = $tuser['id'];
////users whos following Me
$followers = mysql_query("SELECT * FROM follow,photos WHERE followers = photos.user_id order by photos.date desc");
$f_s_count = mysql_num_rows($followers);
上面的代码可以工作,但将从数据库中选择所有照片,而不是从以下 id 中选择。我的意思是即使我不关注他们照片的用户也会显示。
我想要完成的是从我关注的人中选择并按照存储在照片表中的照片日期对他们的照片进行排序。我真的被困住了,有人可以帮我吗?感谢您的回复。抱歉我的英语不好。
编辑
现在这可以正常工作,但它会多次显示图像。
$followers = mysql_query("SELECT * FROM follow,photos WHERE photos.user_id = '$tu_id' and follow.followers = photos.user_id order by photos.date desc");
另一个编辑
现在有了它,它不会多次显示图像,但每当我发布新图像时,它都不会位于顶部,它仍然会根据 ID 对图像进行排序。 对@GonGordon Linoff 的建议稍作修改
SELECT distinct follow.*
FROM photos join
follow
on follow.followers = photos.user_id
WHERE photos.user_id = $tu_id
order by photos.date desc;
最佳答案
你试过这样的事情吗?
$followers = mysql_query("SELECT * FROM follow, photos
WHERE follow.followers = photos.user_id and photos.user_id = '$i_id'
order by photos.date desc");
关于php - Mysql从不同的表中选择日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18102967/