caioklak 1 Denunciar post Postado Outubro 15, 2013 Boa tarde galera, preciso do seguinte, contar os usuários cadastrados "ativos" que seria o meu "status " que ta no banco, ou seja no "status" tenho a opção "ativo" ou "inativo", como faço para ele contar por exemplo:Existem 5 usuários cadastrados ativos, como php/mysqlObrigado. <?php require_once("conexao.php"); $erro = 0; if(count($_POST) > 0) { $nome = $_POST["nome"]; $tel = $_POST["tel"]; $status = $_POST["status"]; $sql = " INSERT INTO cadrepresentante (nome, tel, status) VALUES ('".$nome."', '".$tel."', '".$status."' );"; $erro = 0 ; $msgs = array( 1 => 'Fornecer nome do representante.', 2 => 'Fornecer telefone.' ); if(empty($nome)) $erro = 1; else if(empty($tel)) $erro = 2; else mysql_query($sql, $conexao); } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Diego Rinno 35 Denunciar post Postado Outubro 15, 2013 Cara, a forma mais simples pra fazer é assim ó, você tem que fazer um loop no seu DB procurando somente na coluna STATUS onde o valor for igual a ATIVO. Sendo assim, é só contar os resultados e tcharamm! Tá feito. Pra fazer a pesquisa, tente fazer algo assim: conecta = mysql_connect(“localhost”,$usuario,$password) or die(mysql_error()); $dbselect = mysql_select_db($databank) or die(mysql_error(); $sql = mysql_query(SELECT * FROM '$tabela' WHERE status = 'ativo'); $contagem = mysql_num_rows($sql); echo "Existem ".$contagem." usuários cadastrados ativos."; Compartilhar este post Link para o post Compartilhar em outros sites
caioklak 1 Denunciar post Postado Outubro 16, 2013 Cara, a forma mais simples pra fazer é assim ó, você tem que fazer um loop no seu DB procurando somente na coluna STATUS onde o valor for igual a ATIVO. Sendo assim, é só contar os resultados e tcharamm! Tá feito. Pra fazer a pesquisa, tente fazer algo assim: conecta = mysql_connect(“localhost”,$usuario,$password) or die(mysql_error()); $dbselect = mysql_select_db($databank) or die(mysql_error(); $sql = mysql_query(SELECT * FROM '$tabela' WHERE status = 'ativo'); $contagem = mysql_num_rows($sql); echo "Existem ".$contagem." usuários cadastrados ativos."; Com esse código que me passou não consegui fazer funcionar... Compartilhar este post Link para o post Compartilhar em outros sites
Maykel-ctba 233 Denunciar post Postado Outubro 16, 2013 Não entendi... você quer consultar quantos ativos tem no seu sistema, mas posta um código de inserção? Compartilhar este post Link para o post Compartilhar em outros sites
caioklak 1 Denunciar post Postado Outubro 16, 2013 Não entendi... você quer consultar quantos ativos tem no seu sistema, mas posta um código de inserção? é que fica tudo na mesma tela... Compartilhar este post Link para o post Compartilhar em outros sites
Maykel-ctba 233 Denunciar post Postado Outubro 16, 2013 Poste o código referente a consulta então, @caioklak! :) Compartilhar este post Link para o post Compartilhar em outros sites
caioklak 1 Denunciar post Postado Outubro 16, 2013 Poste o código referente a consulta então, @caioklak! :) Seque o codigo da consulta. <table id="tabela"> <thead> <tr> <th id="tabela1" width="200">Nome</th> <th id="tabela1" width="150">Telefone</th> <th id="tabela1" width="70">Status</th> <th id="tabela1" width="60">Editar</th> <th id="tabela1" width="60">Excluir</th> </tr> </thead> <tbody> <?php require_once("conexao.php"); $sql = "SELECT id, nome, tel, status FROM cadrepresentante"; $resultado = mysql_query($sql, $conexao); while($representante = mysql_fetch_assoc($resultado)): ?> <tr> <td id="tabela2"><?php print($representante["nome"]); ?></td> <td id="tabela2"><?php print($representante["tel"]); ?></td> <td id="tabela2"><?php print($representante["status"]); ?></td> <td id="tabela2"><a href="alt_representante.php?id=<?php print($representante["id"]);?>"><img src="img/edit.png" alt="edit" ></td> <td id="tabela2"><a href="cad_representante_delete.php?id=<?php echo$representante["id"];?>"><img src="img/excluir.png" alt="excluir" ></a></td> </tr> <?php endwhile; ?> </tbody> </table> Compartilhar este post Link para o post Compartilhar em outros sites
Diego Rinno 35 Denunciar post Postado Outubro 16, 2013 $sql = mysql_query("SELECT * FROM 'cadrepresentante' WHERE status = 'ativo'"); $contagem = mysql_num_rows($sql); echo "Existem ".$contagem." usuários cadastrados ativos."; >> PARA TESTAR << Cria uma nova tabela no seu banco de dados com os campos id (do tipo integer), nome (do tipo char) e status (do tipo varchar). Insere uns 6 registros você mesmo nessa tabela. Deixa uns 3 com o campo status como ativo e o resto como inativo. Depois testa o código acima. Agora... No seu código não é feita nenhuma contagem. O mysql_fetch_assoc() só obtém um linha do resultado como uma matriz associativa, não conta as linhas de resultado. Pra contar o número de registros marcados como ativo, utilize o mysql_num_rows(). OBS: No outro post que coloquei esse mesmo código, eu tinha me esquecido das aspas dentro da query do mysql, talvez por isso tenha dado errado. Compartilhar este post Link para o post Compartilhar em outros sites
caioklak 1 Denunciar post Postado Outubro 16, 2013 $sql = mysql_query("SELECT * FROM 'cadrepresentante' WHERE status = 'ativo'"); $contagem = mysql_num_rows($sql); echo "Existem ".$contagem." usuários cadastrados ativos."; >> PARA TESTAR << Cria uma nova tabela no seu banco de dados com os campos id (do tipo integer), nome (do tipo char) e status (do tipo varchar). Insere uns 6 registros você mesmo nessa tabela. Deixa uns 3 com o campo status como ativo e o resto como inativo. Depois testa o código acima. Agora... No seu código não é feita nenhuma contagem. O mysql_fetch_assoc() só obtém um linha do resultado como uma matriz associativa, não conta as linhas de resultado. Pra contar o número de registros marcados como ativo, utilize o mysql_num_rows(). OBS: No outro post que coloquei esse mesmo código, eu tinha me esquecido das aspas dentro da query do mysql, talvez por isso tenha dado errado. Fiz como falou e ele me deu o seguinte erro: Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given Compartilhar este post Link para o post Compartilhar em outros sites
Diego Rinno 35 Denunciar post Postado Outubro 17, 2013 Esse erro tá dizendo que o mysql_num_rows esperava receber um resource, mas está recebendo um booleano. Provavelmente é a query que tá retornando falso, por isso o erro. Faz o seguinte, usa o mysql_error pra ver o que é que tá causando isso. Aqui eu testei e tá funcionando normalmente, no meu servidor. Usa o código abaixo: $sql = mysql_query("SELECT * FROM 'cadrepresentante' WHERE status = 'ativo'") or die(mysql_error()); $contagem = mysql_num_rows($sql); echo "Existem ".$contagem." usuários cadastrados ativos."; Assim ele vai te dizer o que é tá dando de errado. Compartilhar este post Link para o post Compartilhar em outros sites
erison 63 Denunciar post Postado Outubro 17, 2013 OBS: se tiver algum erro relacionado a mysql_query, desculpa e por faz tanto tempo que não uso que nem sei mais os nomes decorados tive que pegar da net alguns comandos como: mysql_fetch_array($sql), kkkkkkkk por que não lembrava mais :P, atualmente trabalho com zend. se você você mostrando todos os registros e quiser contar ativos e desativados eo seguinte. <?php $sql = mysql_query("SELECT * FROM 'cadrepresentante'"); $c_a = 0;//contagem ativos $c_d = 0;//contagem desativados while($lista = mysql_fetch_array($sql)): echo "aqui você colocar dua grid codigo etc..."; switch($lista[status]): case 'on' : $c_a++;break; case 'off' : $c_d++;break; endswitch; endwhile; echo 'quantidade de ativos :'.$c_a; echo '<br />quantidade de desativados :'.$c_d; ?> se estiver mostrando apenas os ativados e quiser saber quantos retornaram na consulta <?php $sql = mysql_query("SELECT * FROM 'cadrepresentante' WHERE status = 'on'"); $qtd = mysql_num_rows($sql); while($lista = mysql_fetch_array($sql)): echo "aqui você colocar dua grid codigo etc..."; endwhile; echo 'quantidade de ativos :'.$qtd; ?> ou <?php $sql = mysql_query("SELECT *,count(*) as qtd FROM 'cadrepresentante' WHERE status = 'on'"); while($lista = mysql_fetch_array($sql)): echo "aqui você colocar dua grid codigo etc..."; echo 'quantidade de ativos :'.$qtd; $qtd = $lista[qtd]; endwhile; echo 'quantidade de ativos :'.$qtd; ?> Compartilhar este post Link para o post Compartilhar em outros sites
caioklak 1 Denunciar post Postado Outubro 17, 2013 Esse erro tá dizendo que o mysql_num_rows esperava receber um resource, mas está recebendo um booleano. Provavelmente é a query que tá retornando falso, por isso o erro. Faz o seguinte, usa o mysql_error pra ver o que é que tá causando isso. Aqui eu testei e tá funcionando normalmente, no meu servidor. Usa o código abaixo: $sql = mysql_query("SELECT * FROM 'cadrepresentante' WHERE status = 'ativo'") or die(mysql_error()); $contagem = mysql_num_rows($sql); echo "Existem ".$contagem." usuários cadastrados ativos."; Assim ele vai te dizer o que é tá dando de errado. Deu doa brother achei o erro era aspas simples, tirei elas do cadrepresentante e o erro sumiu... Muito obrigado teu codigo funcionou perfeitamente. Compartilhar este post Link para o post Compartilhar em outros sites