Jump to content
Gustavuh

Como fazer para buscar a quantidade de determinado valor? Problema físico e não lógico.

Recommended Posts

Quero mostrar quantas postagens tem determinada categoria mas estou com problema na estrutura.

 

Meu pensamento seria fazer um foreach dentro do outro mas está dando erro.

 

Segue meu código:

 

Citar

<h4>categorias</h4>
                <ul>
                <?php
                  $read = new Read();
                  $read->ExeRead("ws_categories", "ORDER BY category_title ASC");

                  if ($read->getRowCount() >= 1):
                    foreach ($read->getResult() as $aut):
                      extract($aut);
                ?>
                  <li>
                    <a href="#"><?= $category_name ?> ( 0 ) </a>
                  </li>
                <?php 
                  endforeach;
                endif;
                ?>
                </ul>

 

 

Share this post


Link to post
Share on other sites

Na verdade não existe erro, ao menos por enquanto.

 

Minha duvida é estrutural, eu quero trazer quantas noticias tem cada categoria.

ddwd.png.499c76dcd8893ae27cf99c19912c8078.png

 

Eu tentei fazer um foreach dentro de outro foreach mas não consegui.

Share this post


Link to post
Share on other sites

Não sei como está tua estrutura do banco, porém,

creio que se você fizer um Count, tu consegue o

mesmo...

 

Segue exemplo:

 

SQLs A SEREM UTILIZADAS

CREATE TABLE categorias (
	idCategoria INT NOT NULL AUTO_INCREMENT,
	titulo VARCHAR(100) NOT NULL,
	PRIMARY KEY(idCategoria)
);
INSERT INTO categorias (titulo) VALUES
('Entretenimento'),
('Esporte');

CREATE TABLE postagens (
	idPostagem INT NOT NULL AUTO_INCREMENT,
	idCategoria INT NOT NULL,
	titulo VARCHAR(100) NOT NULL,
	PRIMARY KEY(idPostagem),
	FOREIGN KEY (idCategoria) REFERENCES categorias (idCategoria)
);
INSERT INTO postagens (idCategoria, titulo) VALUES
(1, 'Qualquer coisa de Entretenimento'),
(2, 'Palmeiras ganhou um mundial'),
(1, 'Qualquer coisa de Entretenimento'),
(2, 'Primeira corrida de galos ciborgue'),
(1, 'Qualquer coisa de Entretenimento');

 

QUERY

SELECT
	c.titulo AS 'categoria', COUNT(p.idPostagem) AS 'quantidade'
FROM
	categorias AS c
INNER JOIN
	postagens p ON (c.idCategoria = p.idCategoria)
GROUP BY
	c.idCategoria;

 

RESULTADO

image.png.88ed60a3ad3d4172177057a5007728dc.png

 

Feito o mesmo, basta você fazer um foreach

retornando os dados presentes nas colunas

categoria e quantidade.

Share this post


Link to post
Share on other sites

Essa parte to sabendo fazer, porem o que eu nao deixei claro é que esssa estrutura é na exibição, no html.

 

Até peço desculpas por não ser tão claro especificamente.

Citar

<h4>categorias</h4>
                <ul>
                <?php
                  $read = new Read();
                  $read->ExeRead("ws_categories", "ORDER BY category_title ASC");

                  if ($read->getRowCount() >= 1):
                    foreach ($read->getResult() as $aut):
                      extract($aut);
                ?>
                  <li>
                    <a href="#"><?= $category_name ?> ( 0 ) </a>
                  </li>
                <?php 
                  endforeach;
                endif;
                ?>
                </ul>

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By danilo759
      Tenho uma tabelinha de programas para uma rádio... está da seguinte forma.

      titulo
      data (YYYY-MM-DD)
      hora (00:00:00)

      Minha consulta, mas não retorna o programa da hora corrente. O que eu fiz de errado?
      SELECT * FROM programas WHERE data = CURDATE() AND hora = CURTIME() LIMIT 1
    • By Ro_JnR
      Estou tentando a semanas resolver um problema, consumir uma API e verificar se o campo no banco está vazio, se estiver faz insert se não faz update.
      Até aí tudo bem, agora não consigo passar do meu select para o banco, ele da erro.
       
      Segue o código:
       
      <?php

          require_once("db.class.php");
          
          $url = "https://servicodados.ibge.gov.br/api/v1/localidades/distritos";
              $ch = curl_init($url);
              curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
              curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
              $resultado = json_decode(curl_exec($ch));
              foreach ($resultado as $cidades) {
                  $nome = $cidades->nome;
                  $stmt = $conn->prepare("SELECT name FROM cidades WHERE name=?");
                  $stmt->bind_Param(':name', $nome);
                  $stmt->execute();
                  $stmt->bind_result($resultSelect);
                  $stmt->fetch();
                  if(!$stmt->execute()){
                      print_r($stmt->errorInfo());
                  }
              } 

      ?>
       
      Código do banco:
       
      $conn = new PDO("mysql:host=localhost;dbname=exercicio", "root", "");
      //"sqlsrv:Database=dbphp7;server=localhost\SQLEXPRESS;ConnectionPooling=0", "sa", "root");
      $stmt = $conn->prepare("SELECT * FROM cidades ORDER BY nome");
      $stmt->execute();
      //fetchALL basicamente faço while do mysqli
      $results = $stmt->fetchALL(PDO::FETCH_ASSOC);
       
      Print do erro:

       
      Tenho um outro exercicio que fiz bem parecido, consumi a API de estados e inseri no banco de dados, esse funcionou normalmente.
      Alguém poderia me dar uma luz, não sei mais o que fazer.
      Era para ser simples rsrsrrs.
    • By asacap1000
      Galera me foi solicitado a criação de um servidor web, para disponibilizar serviços para os clientes. O que vocês recomendam?
      Tenho um servidor da DELL com windows 2016. Todo o desenvolvimento será em PHP, Javascript e companhia Ltda com conexão aos bancos de dados Mysql, SQL e ORACLE.
      Já temos um servidor que será desativado porém está utilizando uma versão muito antiga de PHP 5.4 e como base de instalação foi utilizado o WampServer. 
    • By asacap1000
      Galera me foi solicitado a criação de um servidor web, para disponibilizar serviços para os clientes. O que vocês recomendam?
      Tenho um servidor da DELL com windows 2016. Todo o desenvolvimento será em PHP, Javascript e companhia Ltda com conexão aos bancos de dados Mysql, SQL e ORACLE.
      Já temos um servidor que será desativado porém está utilizando uma versão muito antiga de PHP 5.4 e como base de instalação foi utilizado o WampServer. 
    • By dutopfave
      Boa Noite Galera, estou com dúvida em como cria um cadastra de VARIAÇÕES DE PRODUTOS.

      Ex.: Tenho um produto que é um TENIS, ai nele vou criar as VARIAÇÕES, então vou usa COR e TAMANHO.
      COR: preto, verde, azul
      TAMANHO: 39, 40, 41

      até ai blz, porém a duvida é como fazer o cadastrado de combinações de cor e tênis, tipo no banco de dados teria q fica exatamente assim....

      ID | COR | TAMANHO
      ... | preto | 39
      ... | preto | 40
      ... | preto | 41
      ... | verde | 39
      ... | verde | 40
      ... | verde | 41
      ... | azul | 39
      ... | azul | 40
      ... | azul | 41

      alguém tem alguma solução
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.