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)
Скачиваний: 137
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 твой и того кому пишут они в любом случае будут разные.
Я всего лишь тебе привел пример. Как у тебя там все реализовано я не знаю.
Онлайн: 1
Время:
Gen. 0.0965
(c) Bym.Guru 2010-2026