Таким образом, у меня есть этот запрос, который должен генерировать сообщение, говорящее "разговор между x и x", но прямо сейчас, я только получаю его, чтобы печатать первые две цифры этих пользователей пользователей. В конечном итоге я изменю запрос, чтобы захватить их имена пользователей, но сейчас я только начинаю с userid. Поскольку массив находится в строках, я думаю, что одна и та же проблема будет происходить, если я захвачу имена пользователей.
Кроме того, я знаю, что он устарел... Я планирую скоро перейти на sqli. Не должно влиять на это. Запрос работает отлично, я думаю, что он просто захватывает из массива неправильно.
$sql1 = "SELECT distinct(userid) as userid FROM message_recips WHERE messageid=$_GET[id]";
echo $sql1;
$result1=mysql_query($sql1);
var_dump($result1);
$results2=mysql_fetch_array($result1);
var_dump($results2);
$uids= array();
foreach ($results2 as $result) {
$uids[] = (int)$result['userid'];
}
$last = array_pop($uids);
print '<p>Conversation between ';
print implode(', ', $uids) . ' and ' . $last;
echo '.</p>';
Вот что он печатает из массива:
Conversation between 2 and 2.
когда массив выглядит так:
array (size=2)
0 => string '274' (length=3)
userid' => string '274' (length=3)
Искренне благодарим за любую помощь! Я огляделся вокруг, попробовал кучу вещей, которые по похожим вопросам, но не могут найти их для меня.
//$results2=mysql_fetch_array($result1);
$uids = array();
while ($row = mysql_fetch_assoc($result1)) {
$uids[] = $row['userid'];
}
$last = array_pop($uids);
+ Изменить
$uids[] = (int)$result['userid'];
в
$uids[] = $result['userid'];