Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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)) {
>
Amigo, retire a variável $sql10 de dentro do mysql_fetch_assoc() e veja se da certo.
Não funcionou está dando mesmo erro.
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.
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
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é!
Você retirou o TOP e o erro persistiu?
O que você espera deste "TOP"?
>
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.
post a estrutura da tabela
>
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.
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.
correto fiz o que você falou só que agora voltou a dar aquele lá no laço while, o que devo fazer ?
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.
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'];
}Não funcionou continua do mesmo jeito.
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
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");
>
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 .
kkkkkkkkkkk Boa........ http://forum.imasters.com.br/public/style_emoticons/default/joia.gif
Amigo, retire a variável $sql10 de dentro do mysql_fetch_assoc() e veja se da certo.