• 08-05-2015, 20:27:10
    #1
    bunu ara ara yaşıyorum sebebini bir türlü anlayamadım. if içinde bir koşula göre işlem yaptırmak istiyorum.

    kategori.asp?id=213

    ile kategori.asp içine giriyorum.



    <%
    j=1 
    Set r= Server.CreateObject("ADODB.Recordset") 
    s = "Select * from kategoriler order by kat_adi asc" 
    r.Open s,db,1,3 
     
    do while j<101 and not r.eof
    %>
    
    
    <%if r("id") = request.querystring("id") then%>
        işlem 1
    <%else%>
        işlem 2
    <%end if%>
    
    <%
    r.movenext
    j=j+1
    loop
    r.close
    %>
    şeklinde de döngüyü belirliyorum. ama ne olursa olsun döngü eşitliği görmüyor, else içini işleme sokuyor.

    aynı kodda r("id") = "kategori id" yazdığımda if e giriyor. veya request.querystring("id") = "kategori id" yazdığımda. nedir problem? select case ile de denedim yine olmadı.

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 20:27:10 -->-> Daha önceki mesaj 20:14:22 --

    yahyaaydin adlı üyeden alıntı: mesajı görüntüle
    j=j+1 işlemini r.movenext den önce yaz
    farklı bir mantıkla hallettim kardeşim.

    linkten gelen kid ile veritabanından gelen kid i işleme sokup birbirinden çıkardım. if içinde de sonuç sıfırsa döngüye soktum. değilse else i yapıyor.

    <%sonuc = request.querystring - r("kid") %>

    <%if sonuc = 0 then%>
    işlem1
    <%else%>
    işlem2
    <%end if%>

    böyle yapınca oldu.
  • 08-05-2015, 20:43:33
    #2
    Veri tipi hatası olabilir. Int(Request("id")) şeklinde sorun çıkarmaz diye düşünüyorum.
  • 08-05-2015, 22:29:29
    #3
    Function KontrolEt(degisken, secenek)
            Dim k
            r = Server.CreateObject("ADODB.Recordset")
            s = "Select TOP 100 * from kategoriler order by kat_adi asc"
            r.Open(s, db, 1, 3)
    
            Do While Not r.eof
                If r(secenek) = degisken Then
                    k = 1
                Else
                    k = 2
                End If
            Loop
            r.close()
            KontrolEt = k
        End Function
    
        Sub yapCat()
            Dim d
            d = Request.QueryString("id")
            If KontrolEt(d, "sutunadi") = 1 Then
                'işlem 1
            Else
                'işlem 2
            End If
        End Sub