Автор Тема: Проблем с извеждане на брой редове,резултати и тяхното преброяване(PHP PDO)  (Прочетена 2239 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

Darnel

  • Full Member
  • ***
  • Благодарности
  • -Казани: 32
  • -Получени: 3
  • Публикации: 139
Едит: Тъй-като се оправих с моя проблем , ще напиша директно решението му и как съм го постигнал.
Имах проблем с преброяването на обшия брой коментари за дадена новина и всичко беше от заявката.
Така , да вземем следната таблица:

Код: SQL
  1.     CREATE TABLE `comments` (
  2.       `id` INT(11) NOT NULL,
  3.     /* pid е айди-то на поста*/
  4.       `id` INT(11) NOT NULL,
  5.       `title` VARCHAR(70) NOT NULL,
  6.       `author` VARCHAR(50) NOT NULL,
  7.       `comment` text NOT NULL,
  8.       `dateAdded` text NOT NULL
  9.     ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Да речем , че в базата данни имаме записани 3 коментара за поста с айди 1. За да покажем техния брой правим следната заявка:
Код: PHP
  1. $query = "SELECT count(comment) AS total FROM comments WHERE pid = ". $id .""; // Тук броим коментарите и заявяваме че пост айди-то е равно на айди-то на поста в който ги показваме.
  2. $stmt = $db->prepare($query);
  3. $stmt->execute();
  4. $num = $stmt->fetch(PDO::FETCH_ASSOC);
  5. $total = $num['total'];
  6. echo $total;

Решението на проблема ми беше лесно , но дълго време не виждах къде ми е грешката. Моята грешка беше там , че не бях задал "WHERE" и не бях казал на базата данни , че пост айди-то (pid) = на айди-то от поста.
« Последна редакция: 18 Август 2019, 19:38:02 от Darnel »