Loading...
Обучение/Помощь новичкам | Дублирует сообщение
Создал сообщение 1 и в базе оно 1, а при виводе показивает что их 10. Что не так помогите исправить вот код:
php
   $k_post = $db->query("SELECT * FROM `followers` tb1,`post` tb2 WHERE tb2.id_author = '". $user['id'] ."' OR tb1.id_user = '". $user['id'] ."' AND tb1.id_follower = tb2.id_author")->num_rows; 
$k_page = k_page($k_post,10);
$page = page($k_page);
$start = 10*$page-10;
$c = $db->query("SELECT * FROM `followers` tb1,`post` tb2 WHERE tb2.id_author = '". $user['id'] ."' OR tb1.id_user = '". $user['id'] ."' AND tb1.id_follower = tb2.id_author ORDER by tb2.time DESC LIMIT $start, 10");
while($w = $c->fetch_assoc()){

echo'<div style="padding-bottom:15px; padding-top:15px; padding-left:35px;">'.$w['msg'].' </div>';

}
if($k_post > '10') { echo str('?',$k_page,$page.''); }


уже нет сил...
Вот как оно вигледит, а в базе только одно сообщение

Изображение

------
84189_Screenshot_1.png (117.3 Kb)
Скачиваний: 151
php
   <?php 
#Я бы вот так вот юзала например)
$page = new Paginator('/post/', 10);
$post = $db -> query('SELECT * FROM `table`');
if ($post) {
foreach ($post as $key) {
echo'<div>......</div>';
}
echo $peger->display;
}else {
echo'<div> Сообщений нет...</div>';
}
Кайфовая (19 окт 2022, в 0:26)
php
   <?php 
#Я бы вот так вот юзала например)
$page = new Paginator('/post/', 10);
$post = $db -> query('SELECT * FROM `table`');
if ($post) {
foreach ($post as $key) {
echo'<div>......</div>';
}
echo $peger->display;
}else {
echo'<div> Сообщений нет...</div>';
}
спасибо попробую
заметил оно повторяет только создателя сообщения чтото сдесь не так
sql
   tb2.id_author = '". $user['id'] ."' OR   
[i] [!] (19 окт 2022, в 0:03)
Создал сообщение 1 и в базе оно 1, а при виводе показивает что их 10. Что не так помогите исправить вот код:
php
   $k_post = $db->query("SELECT * FROM `followers` tb1,`post` tb2 WHERE tb2.id_author = '". $user['id'] ."' OR tb1.id_user = '". $user['id'] ."' AND tb1.id_follower = tb2.id_author")->num_rows; 
$k_page = k_page($k_post,10);
$page = page($k_page);
$start = 10*$page-10;
$c = $db->query("SELECT * FROM `followers` tb1,`post` tb2 WHERE tb2.id_author = '". $user['id'] ."' OR tb1.id_user = '". $user['id'] ."' AND tb1.id_follower = tb2.id_author ORDER by tb2.time DESC LIMIT $start, 10");
while($w = $c->fetch_assoc()){

echo'<div style="padding-bottom:15px; padding-top:15px; padding-left:35px;">'.$w['msg'].' </div>';

}
if($k_post > '10') { echo str('?',$k_page,$page.''); }


уже нет сил...
php
   SELECT * FROM `followers` tb1,`post` tb2  WHERE tb2.id_author = '". $user['id'] ."' OR tb1.id_user = '". $user['id'] ."' AND tb1.id_follower = tb2.id_author  ORDER by tb2.time DESC LIMIT $start, 10   

Зачем тебе tb1.id_user = '". $user['id'] ."' если tb1.id_follower = tb2.id_author
Скинь архитектуру таблиц.
php
   tb2.id_author = '". $user['id'] ."' OR tb1.id_user = '". $user['id'] ."'   

меня одного смущает что ID получателя и отправителя это сам пользователь??

Думаю лучше сделать так:
php
   tb2.id_author = '". $user['id'] ."' OR tb1.id_user = '". $ank['id'] ."' 

tb2.id_author = '". $ank['id'] ."' OR tb1.id_user = '". $user['id'] ."'


$ank['id'] = это выборка из таблицы пользователя с которым диалог.
Вы делаете джоин
На каждую сущность в одной таблице приходится 10 сущностей в другой
Используйте группировку
DenSBK (19 окт 2022, в 19:10)
php
   tb2.id_author = '". $user['id'] ."' OR tb1.id_user = '". $user['id'] ."'   

меня одного смущает что ID получателя и отправителя это сам пользователь??

Думаю лучше сделать так:
php
   tb2.id_author = '". $user['id'] ."' OR tb1.id_user = '". $ank['id'] ."' 

tb2.id_author = '". $ank['id'] ."' OR tb1.id_user = '". $user['id'] ."'


$ank['id'] = это выборка из таблицы пользователя с которым диалог.
всеравно дублирует.
Когда я убераю
sql
   ]tb2.id_author = '". $user['id'] ."' OR   
то все нормально работает, но я не вижу своих сообщений только сообщения подписчиков.
[i] [!] (19 окт 2022, в 20:43)
всеравно дублирует.
Когда я убераю
sql
   ]tb2.id_author = '". $user['id'] ."' OR   
то все нормально работает, но я не вижу своих сообщений только сообщения подписчиков.
Так тебе надо отправить сообщение собеседнику в БД должно писать твое сообщение и собеседника, получается будет 2 записи.
То и надо делать запись таким образом что бы были ID твой и того кому пишут они в любом случае будут разные.
Я всего лишь тебе привел пример. Как у тебя там все реализовано я не знаю.
Онлайн: 8
Время:
Gen. 0.1246
(c) Bym.Guru 2010-2026