Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
1 / 1 / 0
Регистрация: 29.09.2015
Сообщений: 65

Вывод комментариев по id

23.12.2015, 08:20. Показов 1861. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет вот собственно не могу понять каким макаром сделать запрос к id комментария, сейчас все распишу, то как то тяжеловастенько собраться с мыслями и все правильно изложить по порядку, вообщем есть страница товара со своим id, есть форма что передает данные: product_id - это айдишник товара что мы открыли ну и имя и сам текст коммента, так вот как прописать так что бы при открытии выводились все комментарии именно id товара что мы просматриваем. select*from comments where product_id='{?????}'И вот что тут что написать не знаю и как оно передавалось бы. Кста структура MVC , хотя можете и так писать, всеровно разобью. И на последок, если кто шарит как сделать""" фильтр для товаров, поиск, корзину""" напишите сюда или в ЛС с радостью с вами пообщаюсь и поучусь =))
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.12.2015, 08:20
Ответы с готовыми решениями:

Вывод комментариев
Уважаемые форумчане! Что то мне кажется, что я пошел не в том направлении. На данный момент у меня две таблицы, в одной хранятся ФИО....

Вывод комментариев
Я сделал вывод комментариев на на сайте и прикрутил лайки и дизлайки теперь нужно узнать на каком комментарии нажата кнопка и ввести в базу...

Вывод ТОП комментариев
Всем привет. Прошу о помощи тех, кто шарит в запросах к БД. У меня есть три таблицы. Поля у них одинаковые. Хочу вывести ТОП...

14
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
23.12.2015, 09:52
Цитата Сообщение от evilburn Посмотреть сообщение
select*from comments where product_id='{?????}'И вот что тут что написать не знаю
ну если вы открыли товар на странице значит вы уже на эту страницу передали ид товара
ну вот и выходит
например так
PHP
1
$sql = mysqli_query($db, "select * from `comments` where `product_id`='".$_REQUEST['тут значение переменной переданой на страницу']."'");
ну а дальше вывод данных
0
1 / 1 / 0
Регистрация: 29.09.2015
Сообщений: 65
23.12.2015, 18:47  [ТС]
вывести все данный из бд я могу, но именно вывести записи которые относятся к определенному товару не получается, допустим в product_id я передаю данные так
PHP
1
<?=$data['prod']['id']?>
и хз как это вставить в реквест
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
23.12.2015, 20:45
Ну если есть страница товара, то соответственно где-то уже у вас есть id этого товара...в GET может быть...к примеру страница такого вида
PHP
1
index.php?id=425
Следовательно просто делаем запрос
PHP
1
2
$id = (int) $_GET['id'];
$sql = mysqli_query($db, "select * from `comments` where `product_id`= $id");
0
1 / 1 / 0
Регистрация: 29.09.2015
Сообщений: 65
23.12.2015, 22:37  [ТС]
в том то и дело что адрес страницы идет по алиасу т.е product/(alias товара) и все, а вытаскиваю и отправляю формой в БД комментов product_id, <?=$data['prod']['id']?>(<--это id товара), так же вместо id подставляю price, photo и тд, с тем что где то есть этот id, я с вами согласен на все 100%
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
23.12.2015, 22:43
Если я Вас правильно понял, то Вы точно знаете, что идентификатор товара точно лежит в переменной
PHP
1
$data['prod']['id'];
Тогда соответственно
PHP
1
2
$id = $data['prod']['id'];
$sql = mysqli_query($db, "select * from `comments` where `product_id`= $id");
Ну или я неверно понял, тут одно из двух
0
1 / 1 / 0
Регистрация: 29.09.2015
Сообщений: 65
23.12.2015, 23:34  [ТС]
я уже так пробывал и оно как раз ругается на дату как неизвестная переменная. Смотри, есть у нас в кортоллере такая вот функция
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 public function view(){
        $params = App::getRouter()->getParams();
 
        if(isset($params[0])){
            $alias = strtolower($params[0]);
            $this->data['prod'] = $this->model->getbyAliasProd($alias);
 
 
        }
        if($_POST){
            if($this->model->add_comments($_POST)){
                Session::setFlash('Message sent!');
 
            }
 
        }
 
        $this->data['comments']= $this->model->getComments();
 
    }
Отсюда понятно что используя ключ data['prod'] мы вытаскиваем столбцы из БД, т.е. я так понимаю ID уже хранится в алиасе, поскольку оно уже знает с какого id товара нужно вытаскивать значения, но я хз как вытащить его, хотя на самой странице товара я нормально отправляю коммент с id товара(<?=$data['prod']['id']?>), как же эту заразу заставить узнать какой id просматривается я не знаю.
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
23.12.2015, 23:39
А что насчет этих методов?
PHP
1
$this->data['comments']= $this->model->getComments();
Не они ли вытягивают комменты?
0
1 / 1 / 0
Регистрация: 29.09.2015
Сообщений: 65
24.12.2015, 00:31  [ТС]
да он вытягивает комменты, вот только все, те просто по ключу comments обращаемся к функции выборки из БД комментов, или как то можно вытянуть комменты у которых product_id равен id товара?
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
24.12.2015, 00:39
Надо хотя бы глянуть на метод getComments... Не вордпресс часом?)
0
1 / 1 / 0
Регистрация: 29.09.2015
Сообщений: 65
24.12.2015, 00:45  [ТС]
самописный движок вот сама функция в модели
PHP
1
2
3
4
public function getComments(){
        $sql = "select * from comments where product_id=";
        return $this->db->query($sql);
    }
вот что поставить после знака = что бы выводило не весь список комментов, а именно товара
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
24.12.2015, 00:48
Лучший ответ Сообщение было отмечено evilburn как решение

Решение

PHP
1
2
3
4
public function getComments($param){
        $sql = "select * from comments where product_id=$param";
        return $this->db->query($sql);
    }
И обращаться к методу
PHP
1
$this->data['comments']= $this->model->getComments($this->data['prod']['id']);
Если я верно понял, только у вас getComments что возвращает? true или false? Вы же запрос к БД никак не обрабатываете
1
1 / 1 / 0
Регистрация: 29.09.2015
Сообщений: 65
24.12.2015, 00:52  [ТС]
обработка идет в файле дб пхп
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
 
class DB{
 
    protected $connection;
 
    public function __construct($host, $user, $password, $db_name){
        $this->connection = new mysqli($host, $user, $password, $db_name);
 
        if(mysqli_connect_error()){
            throw new Exception('Error connect to DB');
        }
    }
        public function query($sql){
            if(!$this->connection){
                return false;
            }
 
            $result = $this->connection->query($sql);
 
            if(mysqli_error($this->connection)){
                throw new Exception(mysql_error($this->connection));
            }
 
            if(is_bool($result)){
                return $result;
            }
 
            $data = array();
            while($row = mysqli_fetch_assoc($result)){
                $data[]= $row;
            }
            return $data;
        }
        public function escape($str){
            return mysqli_escape_string($this->connection, $str);
        }
 
 
}
просто для упрощения запросов
0
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
24.12.2015, 00:55
В код углубляться не буду))) Как там Ваши комментарии? по классу БД только замечание, используйте шаблон singleton для единственного подключения к базе и вот тут
PHP
1
2
3
            if(mysqli_error($this->connection)){
                throw new Exception(mysql_error($this->connection));
            }
допишите буковку mysqli_error()
0
1 / 1 / 0
Регистрация: 29.09.2015
Сообщений: 65
24.12.2015, 00:57  [ТС]
АЛИЛУЯ!!! заработало, дайте я расцелую ваши ручки. Тут просто низкий поклон
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.12.2015, 00:57
Помогаю со студенческими работами здесь

Вывод комментариев текущего пользователя
Есть 2 таблицы в БД: users и comments. Таблицы связаны JOIN-ом. Комментарии выводятся, всё работает. Проблема лишь в том, что из базы...

Вывод комментариев к различным статьям, взятым так же из БД
Как сделать вывод определенных комментариев, к определенным статьям? Сейчас у меня 3 статьи, которые, выводятся из БД на стр. article.php...

Вывод количества комментариев для каждой новости
Вывожу новости $NEWS = $db-&gt;Query(&quot;SELECT * FROM news ORDER BY id DESC LIMIT $sta, $num&quot;); while($news = $db-&gt;FetchArray($NEWS)) ...

Почему вывод комментариев к статьям получается лесенкой
Комментарии к статьям прилипли к левому полю после того, как ввела &lt;div class=&quot;clear&quot;&quot; &gt;. Без этого они выводились в удобном...

Вывод рекламы в списке комментариев (через каждый 10 комментариев) в WordPress
Привет! Подскажите как сделать вывод рекламы (adsense) в списке комментариев (через каждый 10 комментариев) в WordPress? Не нашел в поиске...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru