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

Mostrar registros exceto 1


Gnomo

Pergunta

Fala galera! Seguinte..

Tenho a tabela notícias com as colunas:

ID | Texto | Data

para ler as noticias uso uma QueryString tipo Noticias.asp?noticia=15

gostaria de saber como eu faço para na consulta sql imprimir todas as noticias

exceto a noticia 15...

já procurei no google já tentei WHERE ID <> request("noticia") mais não consigo

nenhum resultado...

Obrigado...

Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 0
tá fazendo isso?

sql = "select * from noticias where ID <> '"&Request.QueryString("noticia")&"'"
isso so funciona se o campo id for do tipo texto. para numeros:
sql = "select * from noticias where ID <> "&Request.QueryString("noticia")
ou tente o seguinte
noticia=request.querystring("noticia")
if noticia="" then noticia=0
sql = "select * from noticias where ID <> "&noticia

Link para o comentário
Compartilhar em outros sites

  • 0

Na verdade eu fiz uma funcão que imprime uma lista com currículos relacionados

Function RelacionaCurriculos(Codigo)

Set rstOriginal = Server.CreateObject("ADODB.RecordSet")
Set rstRelaciona = Server.CreateObject("ADODB.RecordSet")

    ' Pega valores do currículo original
    rstOriginal.Open "SELECT Titulo, PosGraduacao, PosOutro, PosOutroTexto, Graduacao, NivelMedio, Tags FROM BE_Profissionais WHERE Codigo="& Codigo, conn
        If rstOriginal.EOF Then
            Exit Function
        Else
            TituloOriginal = rstOriginal("Titulo")
            If rstOriginal("PosOutro") = 1 Then
                PosOutro = rstOriginal("PosOutroTexto")
                PosOriginal = 0 
            Else 
                PosOriginal = rstOriginal("PosGraduacao")
                PosOutro = 0
            End If
            GraduacaoOriginal = rstOriginal("Graduacao")
            NivelMedioOriginal = rstOriginal("NivelMedio")
            TagsOriginal = rstOriginal("Tags")
        End If
    rstOriginal.Close()

    ' Tags
    If TagsOriginal <> "" Then
        Dim aryCampos(0)
        aryCampos(0) = "BE_Profissionais.Tags"
        TagsOriginal = Replace(TagsOriginal,",",chr(13))
        aryBuscaResultado = SQLProcura(TagsOriginal, aryCampos)
        strSQLWhere = strSQLWhere & aryBuscaResultado(0) & " And "
        strOrdenaBusca = strOrdenaBusca & aryBuscaResultado(1)
    End If

    If TituloOriginal <> "" Then
        Dim aryCampos2(0)
        aryCampos2(0) = "BE_Profissionais.Titulo"
        aryBuscaResultado2 = SQLProcura(TituloOriginal, aryCampos2)
        strSQLWhere = strSQLWhere & aryBuscaResultado2(0)
        strOrdenaBusca = strOrdenaBusca & aryBuscaResultado2(1)
    End If

    ' Compara valores

    If PosOutro = 0 Then
        strSQLWhere = strSQLWhere & " And BE_Profissionais.PosOutroTexto = NULL "
    End If

    strSQLRelaciona = "SELECT BE_Profissionais.*, BE_Profissionais.Codigo AS CurriculoCod, Usuarios.Nome, BE_AvatarUsuarios.AvatarMinURL FROM Usuarios INNER JOIN BE_Profissionais ON Usuarios.Codigo = BE_Profissionais.Usuario INNER JOIN BE_AvatarUsuarios ON BE_Profissionais.Codigo = BE_AvatarUsuarios.Curriculo WHERE BE_Profissionais.Graduacao = "&GraduacaoOriginal&" Or BE_Profissionais.PosGraduacao = "&PosOriginal&" And BE_Profissionais.Codigo <> "&Codigo&" Or " & strSQLWhere
'    Response.Write strSQLRelaciona
    rstRelaciona.PageSize = 6
    rstRelaciona.CacheSize = 6
    rstRelaciona.Open strSQLRelaciona, conn
                Response.Write("        <div class=""related"">") & vbNewLine
                Response.Write("          <h2>Currículos Relacionados</h2>") & vbNewLine
            While Not rstRelaciona.EOF
                Response.Write("          <div class=""line"">") & vbNewLine
            Cont = 0
                        
                While Not rstRelaciona.EOF And Cont < 2            
                    Response.Write("            <div class=""pic"">") & vbNewLine
                    Response.Write("               <div class=""ufoto""><a href="""&CAMINHO_RAIZ_BEMP&"/Curriculo.asp?cid="&rstRelaciona("Id")&"""><img src="""&rstRelaciona("AvatarMinURL")&""" alt="""&AbreviaNome(rstRelaciona("Nome"))&""" title="""&AbreviaNome(rstRelaciona("Nome"))&""" /></a></div>") & vbNewLine
                    Response.Write("               <div class=""unome""><a href="""&CAMINHO_RAIZ_BEMP&"/Curriculo.asp?cid="&rstRelaciona("Id")&""">"&AbreviaNome(rstRelaciona("Nome"))&"</a></div>") & vbNewLine
                    Response.Write("            </div>") & vbNewLine
                  rstRelaciona.MoveNext()
                  Cont = Cont + 1
                Wend

              If Not rstRelaciona.BOF Then Response.Write("          </div>") & vbNewLine
            Wend
                If Cont > 0 And Cont < 2 Then
                    Response.Write("          </div>")
                    Cont = Cont + 1
                End If
                    Response.Write("        </div>")
    rstRelaciona.Close()
End Function
Isso funciona assim voce entra no curriculo do profissional e nele tem os currículos relacionados pelas tags, pela profissao entre outros... e nessa query
strSQLRelaciona = "SELECT BE_Profissionais.*, BE_Profissionais.Codigo AS CurriculoCod, Usuarios.Nome, BE_AvatarUsuarios.AvatarMinURL FROM Usuarios INNER JOIN BE_Profissionais ON Usuarios.Codigo = BE_Profissionais.Usuario INNER JOIN BE_AvatarUsuarios ON BE_Profissionais.Codigo = BE_AvatarUsuarios.Curriculo WHERE BE_Profissionais.Graduacao = "&GraduacaoOriginal&" Or BE_Profissionais.PosGraduacao = "&PosOriginal&" And BE_Profissionais.Codigo <> "&Codigo&" Or " & strSQLWhere

eu coloquei And BE_Profissionais.Codigo <> "&Codigo&" mais não funciona :\

e essa variável vem da função Function RelacionaCurriculos(Codigo)

Obrigado...

Editado por Gnomo
Link para o comentário
Compartilhar em outros sites

  • 0

bareta, testado e comprovado de que se não existir cadastro sem as ASPAS simples, a página gera um erro...

nunca nas minhas programações deu erro ou nunca funciou eu fazendo com ASPAS simples, sempre veio registros corretos!!

eu usava muito sem as aspas simples, mais de um tempo pra cá percebi que dava erro no sql qudno se deletar todos os registros da tabela!!!

Editado por Ted k'
Link para o comentário
Compartilhar em outros sites

  • 0
bareta, testado e comprovado de que se não existir cadastro sem as ASPAS simples, a página gera um erro...

nunca nas minhas programações deu erro ou nunca funciou eu fazendo com ASPAS simples, sempre veio registros corretos!!

eu usava muito sem as aspas simples, mais de um tempo pra cá percebi que dava erro no sql qudno se deletar todos os registros da tabela!!!

ted, campos texto (varchar) devem ir entre aspas simples. agora os numericos geralmente não, dependendo do banco, acho q tem uns q aceitam e outros q não. access por exemplo só aceita sem aspas, pode testar.

eu coloquei And BE_Profissionais.Codigo <> "&Codigo&" mais não funciona :\

e essa variável vem da função Function RelacionaCurriculos(Codigo)

o q você quer dizer com "não funciona"??

ele da alguma mensagem de erro ou simplesmente seleciona todos??

se der a mensagem de erro, então poste pra gente saber qual é.

se ele simplesmente seleciona todos então em vez de executar o sql, só de teste de um print (Response.Write) de como fica a query toda e depois posta pra gente ver.

Editado por kuroi
Link para o comentário
Compartilhar em outros sites

  • 0
ted, campos texto (varchar) devem ir entre aspas simples. agora os numericos geralmente não, dependendo do banco, acho q tem uns q aceitam e outros q não. access por exemplo só aceita sem aspas, pode testar.

isso mesmo, gostei da resposta, uso MySQL e ORACLE e funciona, testei no ACCESS agora e não funcionou, mais provei que funciona em bancos de verdade, não classifico o ACCESS para aplicações... (hehehe)

que bom que você não veio falando que não funciona, se não iria ficar chateado com sua resposta sem antes primeiro pequisar!!!

muito bom!!!

Editado por Ted k'
Link para o comentário
Compartilhar em outros sites

  • 0
ted, campos texto (varchar) devem ir entre aspas simples. agora os numericos geralmente não, dependendo do banco, acho q tem uns q aceitam e outros q não. access por exemplo só aceita sem aspas, pode testar.

isso mesmo, gostei da resposta, uso MySQL e ORACLE e funciona, testei no ACCESS agora e não funcionou, mais provei que funciona em bancos de verdade, não classifico o ACCESS para aplicações... (hehehe)

que bom que você não veio falando que não funciona, se não iria ficar chateado com sua resposta sem antes primeiro pequisar!!!

muito bom!!!

bom acontece que não e todo mundo que usa o mesmo banco, e geralmente usam bancos diferentes (não vou discutir sobre isso cada um tem suas preferencias, e cada aplicação tem um banco se adequa melhor).

antes de gerar linhas e linhas de babozeira...

bareta, testado e comprovado de que se não existir cadastro sem as ASPAS simples, a página gera um erro...

nunca nas minhas programações deu erro ou nunca funciou eu fazendo com ASPAS simples, sempre veio registros corretos!!

eu usava muito sem as aspas simples, mais de um tempo pra cá percebi que dava erro no sql qudno se deletar todos os registros da tabela!!!

não vejo como uma tabela "virgem" possa gerar algum erro a não ser que não recebe os parametros necessários, e que não exista um tratamento para casos onde não se encontre dados. O que acho dificil de não ser feito.

uma simples verificação impede estes problemas.

if id="" then id=0 ' ainda da pra adicionar and isnumeric(id)=true para verificar se o conteudo e um tipo numero.
sql="select * from teste where id="&id
set rs=conn.execute(sql)
if rs.eof then
response.write "nada encontrado"
else
response.write "algo encontrado"
end if
rs.close
set rs=nothing
voltando a duvida do gnomo... o que a pagina escreve ao dar um:
response.write strSQLRelaciona

?

Link para o comentário
Compartilhar em outros sites

  • 0
antes de gerar linhas e linhas de babozeira...

bareta, testado e comprovado de que se não existir cadastro sem as ASPAS simples, a página gera um erro...

nunca nas minhas programações deu erro ou nunca funciou eu fazendo com ASPAS simples, sempre veio registros corretos!!

eu usava muito sem as aspas simples, mais de um tempo pra cá percebi que dava erro no sql qudno se deletar todos os registros da tabela!!!

não vejo como uma tabela "virgem" possa gerar algum erro a não ser que não recebe os parametros necessários, e que não exista um tratamento para casos onde não se encontre dados. O que acho dificil de não ser feito.

uma simples verificação impede estes problemas.

desculpa por gerar linhas de babozeiras...

Editado por Ted k'
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...