函数.php
function getfriendone($id, $field){
$query = mysql_query("SELECT `$field` FROM `friends` WHERE `user_one`='$id'");
$run = mysql_fetch_array($query);
return $run[$field];
}
function getfriendtwo($id, $field){
$query = mysql_query("SELECT `$field` FROM `friends` WHERE `user_two`='$id'");
$run = mysql_fetch_array($query);
return $run[$field];
}
index.php
$fetch_friends = $_SESSION['user_id'];
$two = getfriendone($fetch_friends, 'user_two');
$three = getfriendtwo($fetch_friends, 'user_one');
$result = mysql_query("SELECT * FROM posts WHERE id IN ('$two', '$three')");
echo $two." | ".$three;
getfriend 函数的表( friend )
ID user_one user_two
1 1 2
2 1 3
3 4 1
$结果的表格(帖子)
ID TEXT NAME
1 Hello Bob
1 Hello Bob
2 Hello Mark
我在这里想做的是回显 user_one 和 user_two 中包含整数 1 的所有行。在我的追逐中,这里只会回显 ID 1 和 3。它选择第一个匹配项并仅回显该匹配项。它按预期工作,但仅限于列中的第一个匹配项
最佳答案
如果我正确阅读:
SELECT *
FROM posts s
WHERE
EXISTS
(SELECT 1 FROM posts s2 WHERE s.id = s2.user_one) OR
(SELECT 1 FROM posts s2 WHERE s.id = s2.user_two)
将提取您需要的数据
SQLFiddle -> http://sqlfiddle.com/#!2/9ae070/3/0
关于php - 不只选择列中的第一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27565130/