iSkull 0 Denunciar post Postado Fevereiro 12, 2011 Sou novato em php e mysql, e gostaria de saber como descobrir quem possui a maior tabela. Vou explicar na teoria. Bom vamos dizer que eu possuo a tabela comentarios_noticias, e nesta tabelas 4 usuários postaram um comentário. Skull postou 2 Guilherme postou 1 Bruna postou 1 Gostaria de saber um código que mostra se o usuário que possui mais registros criados dentro da tabela comentarios_noticias. Nesse caso seria o Skull, mas caso o Guilherme posta se mais dois comentários apareceria o do Guilherme. Entenderam? :joia: Alguém poderia me ajudar? HELP Alguém poderia ajudar? Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Fevereiro 12, 2011 Pode usar count: SELECT count(campo) as total FROM tabela WHERE condicao; será retornado o campo "total", com o total de ocorrÊncias da condição WHERE Compartilhar este post Link para o post Compartilhar em outros sites
iSkull 0 Denunciar post Postado Fevereiro 12, 2011 Não funcionou aqui :x Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Fevereiro 12, 2011 mostre como fez e explique o que é "não funcionou aqui" Compartilhar este post Link para o post Compartilhar em outros sites
iSkull 0 Denunciar post Postado Fevereiro 12, 2011 Fiz da seguinte maneira <? $nada = mysql_query("SELECT count(voto_usuario) as total FROM enquete_votos WHERE voto_usuario"); echo $nada; ?> e apareceu Resource id #119 (: Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Fevereiro 12, 2011 para pegar o resultado, tem que usar mysql_fetch_* http://php.net/manual/en/function.mysql-fetch-assoc.php Compartilhar este post Link para o post Compartilhar em outros sites
iSkull 0 Denunciar post Postado Fevereiro 12, 2011 Poderia me mostrar como ficaria o código em meu caso? Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Fevereiro 12, 2011 No link há um exemplo. Tente fazer e poste suas dúvidas mostrar como seria no seu caso seria fazer para você. Não é esse o propósito do fórum Compartilhar este post Link para o post Compartilhar em outros sites
iSkull 0 Denunciar post Postado Fevereiro 12, 2011 O máximo que consegui desenvolver foi o seguinte código: <? $sql = "SELECT count(voto_usuario) as total FROM enquete_votos WHERE voto_usuario"; $result = mysql_query($sql); mysql_free_result($result); ?> Mas não funcionou... Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Fevereiro 13, 2011 $result tem o "objeto" de retorno da consulta. você deve passá-lo a mysql_fetch_Assoc(), que retornará um array, cujos índices são os noems dos campos retornados pela busca. veja o link que passei. lá está o código. se quiser só copiar e colar, copie de lá. mas sugiro que faça e entenda Compartilhar este post Link para o post Compartilhar em outros sites
Jonatã Cioni 9 Denunciar post Postado Fevereiro 13, 2011 pra isso tb serve o mysql_fetch_array() tb, não??? ou entre essas duas sintaxes tem alguma diferença??? Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Fevereiro 13, 2011 pra isso tb serve o mysql_fetch_array() tb, não??? ou entre essas duas sintaxes tem alguma diferença??? mysql_fetch_* são todos para a mesma coisa. é que mysql_fetch_array retorna, também, índices numéricos para os campos. Como ninguém usa, fica ocupando memória à toa. fetch_assoc retorna só os índices em string Compartilhar este post Link para o post Compartilhar em outros sites
Calmon Ribeiro' 0 Denunciar post Postado Fevereiro 13, 2011 Qual a função do While? Bom, um while também chamado por muitos de "laço", tem a função de repetição, aonde ela testa uma condição e executa um comando, ou até um bloco de comandos, até aonde a condição que está sendo testada seja FALSE. Exemplo: $comments_query = "SELECT * FROM comentarios ORDER BY id ASC"; while($dados = mysql_fetch_array){ } mysql_fetch_array Obtém uma linha como uma matriz associativa, uma matriz numérica, ou ambas. Descrição: array mysql_fetch_array ( resource $result [, int $result_type ] ) Retorna uma matriz que corresponde a linha obtida e move o ponteiro interno dos dados adiante. Parâmetros: result O resultado resource que esta sendo avaliado. Este resultado vem de uma chamada a mysql_query(). result_type O tipo de array que deve ser obtida. é uma constante e pode ter os seguintes valores: MYSQL_ASSOC, MYSQL_NUM, e o valor padrão de MYSQL_BOTH. Valor Retornado Retorna uma array que corresponde a linha obtida, ou FALSE se não houver mais linhas. O tipo da array retornada depende de como result_type esta definido. Usando MYSQL_BOTH (padrão), você terá um array com ambos os índices, numérico e associativo. Usando MYSQL_ASSOC, você tem apenas os índices associativos (como mysql_fetch_assoc() funciona), usando MYSQL_NUM, você tem apenas os índices numéricos (como mysql_fetch_row() funciona). fonte: php.net Bom, como padrão o mysql_fetch_array já vem configurado como MYSQL_BOTH, ou seja ele gera um array com dados do nosso banco de dados. Eu coloquei a variável $dados como passagem para esse dados do banco de dados. Aonde ela que vai ser a responsável por nos mostrar quais os dados de cada campo. Exemplo, eu quero pegar o dado do campo "nome", veja como fica: $nome = $dados['campo']; Lembrando que se ela estiver fora do while ela não irá retornar todos os dados do banco de dados, apenas o último ou o primeiro dado, depende de como está listado no banco de dados ASC ou DESC. Voltando para nosso caso, veja um exemplo de como ficaria: $comments_query = "SELECT * FROM comentarios ORDER BY id ASC"; while($dados = mysql_fetch_array($comments_query)){ $link = $dados['site']; echo "Meu site: <a href='{$link}'>click aqui</a>"; } Lembrando novamente que devemos colocar o nome do campo na variável $dados: $dados['nome do campo']; No seu caso você teria de listar como ASC = crescente, aonde ele pega do maior para o menor. Espero ter ajudado! :joia: Compartilhar este post Link para o post Compartilhar em outros sites