Ir para conteúdo
Fórum Script Brasil
  • 0

Mostrar Imagem Em Artigos


tiagopassos

Pergunta

Fiz um script que consulta informações em uma tabela MySQL (tabela: derock_artigos_imgindex) para que caso o artigo (tabela: derock_artigos) tenha uma imagem (tabela: derock_imagens), ele mostre, caso contrario, não mostre.

O problema é que quando não tem imagem relacionada (...imgindex) com o artigo (...artigos), ele mostra o seguinte erro:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in... (arquivo e linha)

Tá aqui o script... esteja livre pra mudar do jeito que quizer. Obrigado, espero respostas

P.S.: Não repare que o código esteja um tanto quanto "fragmentado" e "amador", é que eu estava tentando mudá-lo de todas as formas possíveis.

P.S. 2: Existem alguns posts logo abaixo, sendo que, obviamente, o último é o mais atual; por favor, dê uma olhada neles, e não esqueça de ler o último

  // mostra "imagem de índice"

  $query = "SELECT * FROM derock_imagens WHERE id=$artigo_imgindex_id";

  $result = mysql_db_query ($dbname, $query, $link);

  mysql_db_query ($dbname, $query, $link);

  while ($row = mysql_fetch_array($result)) {

    $artigo_imgindex_arquivo = $row[arquivo];

  }

...

        if ($artigo_imgindex_arquivo == $null) {

            print (" ");

        } else {

            $imgindex_completo = $DOCUMENT_ROOT . "/img/" . $artigo_imgindex_arquivo; // acrescenta ao arquivo o caminho completo

            if (file_exists($imgindex_completo)) {

            print ("<IMG SRC=\"http://www.derock.com.br/img_mini.php?arquivo=img/");

            print ("$artigo_imgindex_arquivo");

            print ("&h=120&w=180\" BORDER=\"0\" ALIGN=\"RIGHT\"><BR><BR>");

        }

blink.gif
Link para o comentário
Compartilhar em outros sites

15 respostass a esta questão

Posts Recomendados

  • 0

// mostra "imagem de índice"

$query = "SELECT * FROM derock_imagens WHERE id='$artigo_imgindex_id'";

$result = mysql_db_query ($dbname, $query, $link);

mysql_db_query ($dbname, $query, $link);

$linhas = mysql_num_rows($result);

if ($linhas != 0){

while ($row = mysql_fetch_array($result)) {

$artigo_imgindex_arquivo = $row[arquivo];

echo "<img src=$row[arquivo]>";

}

}

else{

echo "Nenhuma imagem relacionada a este artigo.";

}

Link para o comentário
Compartilhar em outros sites

  • 0

agora os erros:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/derock/derock/adm/artigos.php on line 132

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/derock/derock/adm/artigos.php on line 133

linhas 132 e 133:

132 -> $linhas = mysql_num_rows($result);

133 -> while ($row = mysql_fetch_array($result)) {

P.S.: só a titulo de informacao... o "..." delimita uma boa quantidade de codigo... ou seja, as duas partes estao razoavelmente distantes.

Link para o comentário
Compartilhar em outros sites

  • 0

Fiquei curioso...

   // mostra "imagem de índice"

   $query = "SELECT * FROM derock_imagens WHERE id=$artigo_imgindex_id";

   $result = mysql_db_query ($dbname, $query, $link);

   mysql_db_query ($dbname, $query, $link);

   while ($row = mysql_fetch_array($result)) {

     $artigo_imgindex_arquivo = $row[arquivo];

   }

...

         if ($artigo_imgindex_arquivo == $null) {

            print ("&nbsp;");

         } else {

            $imgindex_completo = $DOCUMENT_ROOT . "/img/" . $artigo_imgindex_arquivo; // acrescenta ao arquivo o caminho completo

            if (file_exists($imgindex_completo)) {

            print ("<IMG SRC=\"http://www.derock.com.br/img_mini.php?arquivo=img/");

            print ("$artigo_imgindex_arquivo");

            print ("&h=120&w=180\" BORDER=\"0\" ALIGN=\"RIGHT\"><BR><BR>");

         }

blink.gif

Cara.. não sei c vai resolver teu problema... mas da uma olhada:

if ($artigo_imgindex_arquivo == $null) {

            print ("&nbsp;");

        }

você tá comparando uma variável com outra? tenta usar:

if (!$artigo_imgindex_arquivo)  print("&nbsp;");

Link para o comentário
Compartilhar em outros sites

  • 0

realmente...

não resolveu

quando usei of if (!$artigo_imgindex_arquivo)... ele imprimiu o comando pra mostrar a imagem (<IMG>), o q não era pra acontecer, já q ela não existe... tentei tirar o !, ele deu outro erro:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in ... huh.gif

Link para o comentário
Compartilhar em outros sites

  • 0

então

$query = "SELECT * FROM derock_imagens WHERE id=$artigo_imgindex_id";

$result = mysql_db_query ($dbname, $query, $link);

mysql_db_query ($dbname, $query, $link);

if (mysql_num_rows($result) > 0) {

while ($row = mysql_fetch_array($result)) {

$artigo_imgindex_arquivo = $row[arquivo];

}

if ($artigo_imgindex_arquivo == $null) {

print ("&nbsp;");

} else {

$imgindex_completo = $DOCUMENT_ROOT."/img/".$artigo_imgindex_arquivo;

if (file_exists($imgindex_completo)) {

print ("<IMG SRC=\"http://www.derock.com.br/img_mini.php?arquivo=img/");

print ("$artigo_imgindex_arquivo");

print ("&h=120&w=180\" BORDER=\"0\" ALIGN=\"RIGHT\"><BR><BR>");

}

} else {

print ("Não há fotos.");

}

Link para o comentário
Compartilhar em outros sites

  • 0

c******...

parece ateh piada...

ainda não funcionou. Deve ter algo sobrenatural por tras desse script.

corrigi uns pequenos erros de sintaxe (do ultimo exemplo), tentei algumas alterações, e:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/derock/derock/adm/artigos.php on line 132

O pior de tudo, é q não é erro de MySQL (ai ai se sesse), já que quando a imagem existe, ela é exibida.

Link para o comentário
Compartilhar em outros sites

  • 0

putz. tenta assim então:

$query = "SELECT * FROM derock_imagens WHERE id=$artigo_imgindex_id";
$result = mysql_query($dbname, $query, $link);

if (mysql_num_rows($result) > 0) {
 while ($row = mysql_fetch_array($result)) {
 $artigo_imgindex_arquivo = $row[arquivo];
 }
 if ($artigo_imgindex_arquivo == '') {
 print ("&nbsp;");
 } else {
 $imgindex_completo = $DOCUMENT_ROOT."/img/".$artigo_imgindex_arquivo;

 if (file_exists($imgindex_completo)) {
 print ("<IMG SRC=\"http://www.derock.com.br/img_mini.php?arquivo=img/"); 
 print ("$artigo_imgindex_arquivo"); 
 print ("&h=120&w=180\" BORDER=\"0\" ALIGN=\"RIGHT\"><BR><BR>");
 }
} else {
print ("Não há fotos.");
}

Link para o comentário
Compartilhar em outros sites

  • 0

fizemos progressos! tongue.gif

Ele agora tá mostrando o "Não há fotos", porém, ainda continua mostrando o erro:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/... on line 132

127   // mostra "imagem de índice"
128   $query = "SELECT * FROM derock_imagens WHERE id=$artigo_imgindex_id";
129   $result = mysql_db_query ($dbname, $query, $link);
130   mysql_db_query ($dbname, $query, $link);
131
132   $imgindex_linhas = mysql_num_rows($result);
133
134   if ($imgindex_linhas > 0) {
135      while ($row = mysql_fetch_array($result)) {
136         $artigo_imgindex_arquivo = $row[arquivo];
137      }
138   }

Link para o comentário
Compartilhar em outros sites

  • 0

tenta:

// mostra "imagem de índice"

$query = "SELECT * FROM derock_imagens WHERE id = '$artigo_imgindex_id'";

$result = mysql_query ($query);

$imgindex_linhas = mysql_num_rows($result);

  if ($imgindex_linhas > 0) {

      while ($row = mysql_fetch_array($result)) {

        $artigo_imgindex_arquivo = $row["arquivo"];

    }

}

Link para o comentário
Compartilhar em outros sites

  • 0

ainda nada... sad.gif

eu tentei ainda tirar o "if ($imgindex_linhas > 0) {..." mas deu outro erro, apesar de o principio ter sido o mesmo. Mostra o que eu quero, mas continua o erro:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/.../artigos.php on line 135

Quando eu coloco novamente, mostra:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/.../artigos.php on line 132

'...' são os subdiretorios - pra facilitar o entendimento tongue.gif

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...