Jump to content
lezão

Retornar o valor do COUNT na variavel

Recommended Posts

Boa noite!

Td bem com vcs?

Estou usando esse código mas não retorna nada!

 

Alguém pode me ajudar ?

 

 

<?php
$sql = mysqli_query($link, "SELECT ver_post, COUNT(ver_post) AS Quantidade FROM tab_comentarios where ver_post = 'red' Group by ver_post");
?>

Variável

<?php echo $Quantidade; ?>

 

Share this post


Link to post
Share on other sites

Tente assim pois se a query retorna e não tem erro $sql é um array:

echo ($sql[0]['Quantidade']); // Primeiro índice do array "0"

foreach ($sql as $indice) {
  echo ("{$indice['Quantidade']}<hr />");
}

 

Qualquer caso é só fazer o básico e necessário que é ver se os dados realmente existem e como eles são:

echo ("<pre>");
var_dump($sql);
echo ("</pre>");

 

Share this post


Link to post
Share on other sites

Boa tarde, Omar~!

Td bem com você?

 

fiz desse jeito e naun rodou

<?php
$sql = mysqli_query($link, "SELECT ver_post, COUNT(ver_post) AS Quantidade FROM tab_comentarios where ver_post = 'red' Group by ver_post");
echo ($sql[0]['Quantidade']); // Primeiro índice do array "0"
foreach ($sql as $indice) {
echo ("{$indice['Quantidade']}<hr />");
}
?>

da esse erro


Fatal error
: Uncaught Error: Cannot use object of type mysqli_result as array in /home/mercatot/public_html/gnservice/painel/menu.php:110 Stack trace: #0 {main} thrown in
/home/mercatot/public_html/gnservice/painel/menu.php
on line
110

 

Share this post


Link to post
Share on other sites
Em 06/01/2021 at 09:03, Omar~ disse:

Qualquer caso é só fazer o básico e necessário que é ver se os dados realmente existem e como eles são:


echo ("<pre>");
var_dump($sql);
echo ("</pre>");

 

Share this post


Link to post
Share on other sites

Boa tarde!

sinceramente eu naun sei aonde colocar esse codigo?

echo ("<pre>");
var_dump($sql);
echo ("</pre>");

 

Share this post


Link to post
Share on other sites

Tente umas destas 4 opções

 

<?php
// 1º
         $sql = mysqli_query("SELECT ver_post, COUNT(ver_post) AS Quantidade FROM tab_comentarios where ver_post = 'red' Group by ver_post");
         $row = mysqli_fetch_assoc($sql);
         $count = $row['Quantidade'];

        echo ''.$count.'';

// 2º
       $sql = mysqli_query("SELECT ver_post, COUNT(ver_post) AS Quantidade FROM tab_comentarios where ver_post = 'red' Group by ver_post");
       $data=mysql_fetch_assoc($sql);
       echo $data['Quantidade'];
	   
// 3º
  $conn  = mysqli_connect('localhost:3306', 'root', 'senha', 'db');
  if(! $conn) {
     die('Não foi possível conectar: ' . mysqli_error());
 }

     $sql = "SELECT ver_post, COUNT(ver_post) AS Quantidade FROM tab_comentarios where ver_post = 'red' Group by ver_post";
     $result = mysqli_query($conn, $sql);
     $row = mysqli_fetch_object($result) ;
     echo "Total: " . $row->Quantidade;
     mysqli_close($conn);
	 
// 4º
  $sql = "SELECT ver_post, COUNT(ver_post) AS Quantidade FROM tab_comentarios where ver_post = 'red' Group by ver_post";
  if ($pegar_Quantidade = $mysqli->query("$sql")) {
    /* determina o número de linhas do conjunto de resultados */
    $TotalQuantidade = $pegar_Quantidade->fetch_row();
    $TotalQuantidade = $TotalQuantidade['0'];
    /* fechar conjunto de resultados */
    $result_tvp->close();
}

echo "Total: $TotalQuantidade";	 
?>

 

Share this post


Link to post
Share on other sites

var_dump

Esse é o principal e mais eficiente recurso do PHP para um desenvolvedor.

Pois com ele podemos saber se algo existe e como ele é.

Se executar no valor do retorno da função sqli saberá se a query houve erro, se não quais são os dados disponíveis e como eles são, assim saberia como percorrer esse array.

 

O que posso ajudar lhe indicar o caminho:

<?php
$arrayA = [
  'a' => 'Primeiro índice',
  'b' => 'Segundo índice'
];
var_dump($arrayA);
echo $arrayA['a']; // Resultado: "Primeiro índice"
echo $arrayA->a; // Resultado: "Erro" Não é um objeto

$arrayB = (object) [
  'a' => 'Primeiro índice',
  'b' => 'Segundo índice'
];
var_dump($arrayB);
echo $arrayB->a; // Resultado: "Primeiro índice"
echo $arrayB['a']; // Resultado: "Erro" Isso não é associativo

 

Deixo para outra pessoa fazer o código para você e postar aqui

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 RX3Info
      Boa Tarde!
      Pessoal,
      Estou precisando realizar um cálculo dentro de uma select, mas não estou conseguindo, segue abaixo a select sem as operações e um exemplo (que não funcionou) logo abaixo:
       
      Este código está funcionando:
      select A.CODPRODUTO, A.LOTE, A.QTD, A.`LOCAL`, A.OT, A.ALTUSU, A.ALTMOM, B.CODPRODUTO, B.DESCRICAO, B.CUSTO, C.ICMS_VALOR, C.IPI_VALOR, C.COFINS_VALOR, C.QTD from proqtd as A inner join produto as B on a.CODPRODUTO = B.CODPRODUTO inner join nfeprodu as C on B.CODPRODUTO = C.PRODUTO  
      Este não funciona e da erro devido ao cálculo.
      select A.CODPRODUTO, A.LOTE, A.QTD, A.`LOCAL`, A.OT, A.ALTUSU, A.ALTMOM, B.CODPRODUTO, B.DESCRICAO, (B.CUSTO, - C.ICMS_VALOR, - C.IPI_VALOR, - C.COFINS_VALOR, / C.QTD) as CustoSemImpostos from proqtd as A inner join produto as B on a.CODPRODUTO = B.CODPRODUTO inner join nfeprodu as C on B.CODPRODUTO = C.PRODUTO  
      O que eu preciso é o seguinte, que me traga os itens com os valores sem os impostos, veja acima que a tentativa está sendo de pegar o valor de custo de um item, subtrair os impostos e dividir pela quantidade em estoque, desta forma, tenho o valor da unidade de cada item sem os impostos, mas não estou conseguindo.
       
      Se alguém puder me ajudar com um exemplo, ficarei muito agradecido.
      Obrigado!
       
    • By iguulima
      É possivel realizar uma consulta SQL em duas colunas da mesma tabela usando outra função que não seja o AND ou OR? Segue o meu Select ate agora:
       
      (SELECT * FROM product WHERE comid = $idcom AND status = 'Ativo' AND categ = $category AND nameprod like'%$search%'  ORDER BY id DESC)  
      Por exemplo se eu colocar um AND após buscar o nameprod, no nome do produto não tiver a palavra chave ele também não irá buscar. Ou se colocar um OR ele anulo as outras condições até onde eu sei.
      Iniciante em programação.
    • By lezão
      Boa tarde, pessoal!
      tenho um codigo que peguei de uma video aula, na video aula funciona normal, mas comigo naun esta funcionando!
      os codigos estaun identicos e em meu server naun roda.
      alguem pode me ajudar?
       
      veja o codigo index.php
      <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="UTF-8"> <title>Carrinho de Compras</title> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css" /> </head> <body> <div class="container"> <div class="row"> <?php $pdoConnection = require("conexao.php"); $sql = mysqli_query($link, "SELECT * FROM tab_pedido"); //$qr = mysql_query($sql) or die (mysql_error()); while($line = mysqli_fetch_array($sql)){ $Nome_produto = $line['Nome_produto']; $Valor_produto = $line['Valor_produto']; $Descricao_produto = $line['Descricao_produto']; $Foto_produto = $line['Foto_produto']; $id_produtos = $line['id_produtos']; ?> <div class="col-4"> <div class="card"> <div class="card-body"> <h4 class="card-title"><?php echo $Nome_produto;?></h4> <h4 class="card-title"><img src="<?php echo $Foto_produto; ?>" style="border-radius: 10px;" width="75px" height="75px" /></h4> <h6 class="card-subtitle mb-2 text-muted"> R$<?php echo number_format($Valor_produto, 2, ',', '.')?> </h6> <a class="btn btn-primary" href="teste_carrinho.php?acao=add&id=<?php echo $id_produtos;?>" class="card-link">Comprar</a> </div> </div><br/> </div> <?php } ?> </div> </div> </body> </html> codigo carrinho.php
      <?php session_start(); if(!isset($_SESSION['carrinho'])){ $_SESSION['carrinho'] = array(); } //ADICIONA PRODUTOS if(isset($_GET['acao'])){ //ADICIONAR CARRINHO if($_GET['acao'] == 'add'){ $id = intval($_GET['id_produtos']); if(!isset($_SESSION['carrinho'][$id])){ $_SESSION['carrinho'][$id] = 1; } else { $_SESSION[‘carrinho’][$id] += 1; } } //REMOVER CARRINHO if($_GET['acao'] == 'del'){ $id_produtos = intval($_GET['id_produtos']); if(isset($_SESSION['carrinho'][$id_produtos])){ unset($_SESSION['carrinho'][$id_produtos]); } } //ALTERAR QUANTIDADE if($_GET['acao'] == 'up'){ if(is_array($_POST['prod'])){ foreach($_POST['prod'] as $id_produtos => $qtd){ $id_produtos = intval($id_produtos); $qtd = intval($qtd); if(!empty($qtd) || $qtd <> 0){ $_SESSION['carrinho'][$id_produtos] = $qtd; }else{ unset($_SESSION['carrinho'][$id_produtos]); } } } } } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css" /> </head> <body> <div class="container"> <div class="card mt-5"> <div class="card-body"> <h4 class="card-title">Carrinho</h4> <a href="teste_index.php">Lista de Produtos</a> </div> </div> <form action="?acao=up" method="post"> <table class="table table-strip"> <thead> <tr> <th>Produto</th> <th>Quantidade</th> <th>Preço</th> <th>Subtotal</th> <th>Ação</th> </tr> </thead> <tbody> <?php if(count($_SESSION['carrinho']) == 0){ echo'<tr> <td colspan="5">Não há produto no carrinho</td> </tr>'; } else { include "conexao.php"; $total = 0; foreach($_SESSION['carrinho'] as $id_produtos => $qtd){ $sql = "SELECT * FROM tab_pedido WHERE id_produtos = '$id_produtos'"; $qr = mysql_query($sql) or die (mysql_error()); $ln = mysql_fetch_assoc($qr); $Nome_produto = $ln['Nome_produto']; $Valor_produto = number_format($ln['Valor_produto'], 2, ',', '.'); $sub = number_format($ln['Valor_produto'] * $qtd, 2, ',', '.'); $total += $ln['Valor_produto'] * $qtd; echo ' <tr> <td>'.$Nome_produto.'</td> <td><input type="text" size="3" name="prod['.$id_produtos.']" value="'.$qtd.'" /></td> <td>R$ '.$Valor_produto.' </td> <td>R$ '.$sub.'</td> <td><a href="?acao=del&id_produtos='.$id_produtos.'">Remove</a></td> </tr>'; } $total = number_format($total, 2, ',','.'); echo '<tr> <td colspan="4">Total</td> <td>R$ '.$total.'</td> </tr>'; } ?> </tbody> </form> </table> </body> </html> aonde eu estou errando????
    • By Thiago Btos
      Boa tarde galera.
       
      Fiz um select que tras 4 informações do banco (matricula, nome, data e hora)
      SELECT QD1_MAT, RA_NOME, QD1_DTBAIX AS DATA, QD1_HRBAIX FROM QD1010 QD1 INNER JOIN SRA010 SRA ON RA_MAT = SUBSTR(QD1_MAT, 5) AND SRA.D_E_L_E_T_ <> '*' ORDER BY QD1_DTBAIX, QD1_HRBAIX Retornando os seguintes registros:

       
       
       
      Preciso retornar somente as linhas em amarelo, que seria a seguinte condição.
      Caso tiver alguma matricula igual, trazer somente o registro com a maior data, junto com seu respectivo horário.
       
       
      O mais próximo que consegui chegar foi utilizando o MAX para data e hora, e agrupando o restante dos campos.
      SELECT QD1_MAT,RA_NOME,MAX(DATA), MAX(QD1_HRBAIX) FROM ( SELECT QD1_MAT, RA_NOME, QD1_DTBAIX AS DATA, QD1_HRBAIX FROM QD1010 QD1 INNER JOIN SRA010 SRA ON RA_MAT = SUBSTR(QD1_MAT, 5) AND SRA.D_E_L_E_T_ <> '*' ) GROUP BY QD1_MAT,RA_NOME Porém na hora ele não pega o valor correspondente e sim o valor máximo.

       
       
      Ai estou travado nessa parte, como faço para trazer a hora corresponde sem o restante dos registros?
    • By MarcosAntonio
      boa tarde. 
      Estou precisando de um Select que retorne uma soma que ao chegar a determinado valor ela reinicie e continue fazendo sucessivamente
       select   pedido,   volume,   limite,   SUM(volume) over (order by pedido ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) saldo   from pedidos  group by pedido o select está retornando assim porém quero que toda vez que chegue ou passe do limite resete o saldo, por exemplo parar no 100 que é o limite e começar um novo saldo
      pedido     volume    limite    saldo  1             70            100        70  2             10            100        80  3             20            100        100  4             50            100        150  5             30            100        180  
      preciso que ele soma o volume enquanto o saldo seja <= que o "limite", quando passar pare de somar e comece outra soma começando do 0, como no exemplo abaixo.
      pedido    volume    limite    saldo  1             70            100        70  2             10            100        80  3             20            100        100  4             50            100        50  5             30            100        80  
×

Important Information

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