egbmix 0 Denunciar post Postado Março 29, 2010 bom dia á todos fiz um script para selecionar os 10 artigos mais vistos no site, sendo que está dando erro na hora de extrair os dados da tabela e não sei o que fazer. erro: PHP Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in E:\home\wibox\Web\Top\index.php on line 95 script: $sql10 = mysql_query ("SELECT TOP 10 * FROM clip ORDER BY view DESC LIMIT 10"); $posicao = 0; while($linha10 = mysql_fetch_assoc($sql10)) {//erro está nessa linha aqui $cod3 = $linha10['id']; $pp3 = $linha10['pp']; $nome3 = $linha10['nome']; $img3 = $linha10['img']; $tempo3 = $linha10['tempo']; $view3 = $linha10['view']; linha de erro : while($linha10 = mysql_fetch_assoc($sql10)) { Compartilhar este post Link para o post Compartilhar em outros sites
David Figueiredo 0 Denunciar post Postado Março 29, 2010 Amigo, retire a variável $sql10 de dentro do mysql_fetch_assoc() e veja se da certo. Compartilhar este post Link para o post Compartilhar em outros sites
egbmix 0 Denunciar post Postado Março 29, 2010 Amigo, retire a variável $sql10 de dentro do mysql_fetch_assoc() e veja se da certo. Não funcionou está dando mesmo erro. Compartilhar este post Link para o post Compartilhar em outros sites
lucaswxp 22 Denunciar post Postado Março 29, 2010 Se eu não me engano, "TOP" não existe no MySQL. Veja que erro SQL está sendo exibido. Faça isso: $sql10 = mysql_query ("SELECT TOP 10 * FROM clip ORDER BY view DESC LIMIT 10") or exit(mysql_error());Poste oque imprimir na tela.E tente retirar o TOP. Controle apenas com ASC, DESC e LIMIT. Compartilhar este post Link para o post Compartilhar em outros sites
egbmix 0 Denunciar post Postado Março 29, 2010 Esse é o erro: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '10 * FROM clip ORDER BY view DESC LIMIT 10' at line 1 Compartilhar este post Link para o post Compartilhar em outros sites
andrewcragy 0 Denunciar post Postado Março 29, 2010 Tente assim, aqui funciona bacana! $sql = "SELECT * FROM [b]BANCODEDADOS[/b] ORDER BY [b]COLUNA[/b] DESC LIMIT 0,10"; Eu uso for pra poder gerar umas tabelas com os vídeos cadastrados no DB. No lugar de: while($linha10 = mysql_fetch_assoc($sql10)) coloque: while($linha10 = mysql_fetch_array($sql10)) Eu tenho um parecido, veja se isso funciona, até mais! Até! Compartilhar este post Link para o post Compartilhar em outros sites
lucaswxp 22 Denunciar post Postado Março 29, 2010 Você retirou o TOP e o erro persistiu? O que você espera deste "TOP"? Compartilhar este post Link para o post Compartilhar em outros sites
egbmix 0 Denunciar post Postado Março 29, 2010 Você retirou o TOP e o erro persistiu? O que você espera deste "TOP"? eu esperava fazer uma consulta dos 10 artigos mais visto no site. Compartilhar este post Link para o post Compartilhar em outros sites
David Figueiredo 0 Denunciar post Postado Março 29, 2010 post a estrutura da tabela Compartilhar este post Link para o post Compartilhar em outros sites
egbmix 0 Denunciar post Postado Março 29, 2010 post a estrutura da tabela Já postei no primeiro tópico Tente assim, aqui funciona bacana! $sql = "SELECT * FROM [b]BANCODEDADOS[/b] ORDER BY [b]COLUNA[/b] DESC LIMIT 0,10"; Eu uso for pra poder gerar umas tabelas com os vídeos cadastrados no DB. No lugar de: while($linha10 = mysql_fetch_assoc($sql10)) coloque: while($linha10 = mysql_fetch_array($sql10)) Eu tenho um parecido, veja se isso funciona, até mais! Até! não funcionou ele retorna a resposta que o banco está vazio. Compartilhar este post Link para o post Compartilhar em outros sites
lucaswxp 22 Denunciar post Postado Março 29, 2010 eu esperava fazer uma consulta dos 10 artigos mais visto no site.Você ja tentou tirar o TOP? Ele deve estar ocasionando o erro. Para fazer isso, você só vai precisar do LIMIT e order by mesmo. Compartilhar este post Link para o post Compartilhar em outros sites
egbmix 0 Denunciar post Postado Março 29, 2010 correto fiz o que você falou só que agora voltou a dar aquele lá no laço while, o que devo fazer ? Compartilhar este post Link para o post Compartilhar em outros sites
egbmix 0 Denunciar post Postado Março 29, 2010 fiz isso : $sql10 = mysql_query ("SELECT * FROM clip ORDER BY view LIMIT 10"); ele não está mostrando os artigos no ordem e nem mostrando os mais vistos, está mostrando aleatóriamente. Compartilhar este post Link para o post Compartilhar em outros sites
ozorio silva 0 Denunciar post Postado Março 29, 2010 tenta assim $sql10 = mysql_query ("SELECT * FROM clip ORDER BY view DESC,nome ASC,id DESC LIMIT 10 ") or die (mysql_error()); $posicao = 0; while ($linha10 = mysql_fetch_array($sql10) or die (mysql_error())) { echo $cod3 = $linha10['id']; echo $pp3 = $linha10['pp']; echo $nome3 = $linha10['nome']; echo $img3 = $linha10['img']; echo $tempo3 = $linha10['tempo']; echo $view3 = $linha10['view']; } Compartilhar este post Link para o post Compartilhar em outros sites
egbmix 0 Denunciar post Postado Março 29, 2010 Não funcionou continua do mesmo jeito. Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Março 29, 2010 Seu problema é na montagem da query. Vou mover para o fórum de MySQL. Tópico Movido PHP http://forum.imasters.com.br/public/style_emoticons/default/seta.gif MySQL Compartilhar este post Link para o post Compartilhar em outros sites
macielcr7 9 Denunciar post Postado Março 29, 2010 Se o campo view na tabela for onde você verifica os 10 mais vistos você faz assim..... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif $sql10 = mysql_query ("SELECT * FROM clip where view LIMIT 10"); Compartilhar este post Link para o post Compartilhar em outros sites
egbmix 0 Denunciar post Postado Março 29, 2010 Se o campo view na tabela for onde você verifica os 10 mais vistos você faz assim..... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif $sql10 = mysql_query ("SELECT * FROM clip where view LIMIT 10"); Agora sim funcionou, muito obrigado valeu mesmo . Compartilhar este post Link para o post Compartilhar em outros sites
macielcr7 9 Denunciar post Postado Março 29, 2010 kkkkkkkkkkk Boa........ http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites