Loading...
Обучение/Помощь новичкам | не могу врубиться
[Удален] , сортируеш по дате добавления и лимит 1
SparkuS (21.03.2019 в 23:03)
[Удален] , сортируеш по дате добавления и лимит 1

у меня не получается
[Удален] (21.03.2019 в 22:44)
SparkuS (21.03.2019 в 22:28)
ну принцип работы прост, надо только знать как устроены твои таблицы. этим запросом ты обьеденяеш 2 таблицы (можно и более)

select
*
from
contacts // подключаешся к таблице контактов
left join
mail // подключаеш сообщения..
on
contacts.user_id = mail.user_id // которые относятся к данному пользователю


а как мне вывести последнее сообщение из каждого диалога?

При выборке в цикле, нужно использовать mb_strlen , пример:
<?
//тут запрос//

//цикл//
while(){
echo (mb_strlen($post['text'],'UTF-8') >= 10 ? mb_substr($post['text'],0, 70, 'UTF-8').'...':($post['text'])).'</br>';
}

если не работал с join, то придется делать вложенный запрос в цикл.
TuT , Та что вы ему объясняете если вон у него что mysqli_fetch_array(DB::Query
TuT , вот смотри
$q = DB::Query('SELECT * FROM `contacts` WHERE `user` = "'.$user['id'].'" ORDER BY `time` DESC LIMIT '.$start.', '.$max.'');
echo'<div class="empty_block">';
while($row = mysqli_fetch_array($q)) {

$ho = mysqli_fetch_array(DB::Query('SELECT * FROM `users` WHERE `id` = "'.$row['ho'].'"'));
$lost = mysqli_fetch_array(DB::Query('SELECT * FROM `mail` WHERE `user_id` = "'.$user['id'].'" AND `from` = "'.$user['id'].'" AND `to` = "'.$row['ho'].'" OR `user_id` = "'.$user['id'].'" AND `to` = "'.$user['id'].'" AND `from` = "'.$row['ho'].'" ORDER BY `time` DESC LIMIT 1'));

echo '<a href="/user/'.$row['ho'].'/"> '.nick($row['ho']).'</a>
<span style="float: right; color: '.(($lost['read'] == 0 AND $lost['from'] == $row['ho'] AND $lost['to'] = $user['id']) ? '#90c090':'#909090').';"> <small>'.vremja($row['time']).'</small> </span>';
if($lost){ echo '<a href="/mail/'.$row['ho'].'/">
<font color="'.(($lost['read'] == 0 AND $lost['to'] == $user['id']) ? '#90c090':'#909090').'"> '.(mb_strlen($lost['text'],'UTF-8') >= 25 ? mb_substr($lost['text'],0, 25, 'UTF-8').'..':$lost['text']).' </font>
</a></br>';
}
echo '</font>';


}
echo' </div>
<div class="line"></div>';



Я ему говорю код подключения к бд мне покажи) А он говорит зачем.
Действительно зачем)
CaMnoCe6e (21.03.2019 в 23:56)
TuT , Та что вы ему объясняете если вон у него что mysqli_fetch_array(DB::Query

Ну так то метод то нужно объявить. По коду нужно делать слияние трех таблиц.
TuT , крч у него mysqli процедурка с обёрткой зачем-то. И там получается DB::Query это mysqli_query
DB::result это mysqli_fetch_array
А он пишет
mysqli_fetch_array(DB::Query(Запрос));
Вопрос, разве так будет что то работать???
TuT , и да слияние нужно делать но он с другой игры переписывает. Там уже всё написанное просто переписать и всё.
CaMnoCe6e (22.03.2019 в 00:11)
TuT , крч у него mysqli процедурка с обёрткой зачем-то. И там получается DB::Query это mysqli_query
DB::result это mysqli_fetch_array
А он пишет
mysqli_fetch_array(DB::Query(Запрос));
Вопрос, разве так будет что то работать???

Конечно будет работать. Он же не указал mysqli_fetch_array(DB::result()) (если я правильно понял суть обертки). Хотя я бы не рекомендовал работать с такой оберткой, в которой методы уже прописаны.
TuT , Понял. Пойду дальше помогать.
Онлайн: 4
Время:
Gen. 0.1095
(c) Bym.Guru 2010-2026