• 20-02-2015, 10:04:29
    #1
    Merhaba arkadaşlar otomatik artan kayıt numarası nasıl verilir.
    2015 dönemi ilk kayıt için 1 den başlayacak ve her kayıt eklenince birer birer artıcak.
    2015 bitince dönem 2016 olarak değişicek ve sayı tekrar 1 den başlayacak.
    Yardımlarınızı bekliyorum.
  • 20-02-2015, 16:34:19
    #2
    elinde kod varsa yardımcı olayim
  • 21-02-2015, 16:46:04
    #3
    Kafanda bir algoritma oluşturan lazim.
    Tablonda KayitYili ve KayitNumarasi adında iki tane sayı tipinde sütun olduğunu varsayarak
    <%
    Function Yenisayiver(NeyeGore)
    DbSonuc = Sorgun.Execute("Select Count(IDno) From Tablomuz Where KayitYili="&NeyeGore&")
    Yenisayiver = DbSonuc + 1
    End Function
    
    Sub OgrenciKayit()
    Yilimiz = Year(Now)
    Sorgun.Execute("insert into Tablomuz (AdSoyad,KayitYili,KayitNumarasi) Values ('Adisoyadi',"&Yilimiz&","&Yenisayiver(Yilimiz)&");")
    End Sub
    'Yani = Git veritabanına bak o yıl için kactane kayıt yaptık bir sonuca bir ekle ve yeni sayıya göre kayıt yap.
    %>


    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 16:46:04 -->-> Daha önceki mesaj 16:34:53 --

    Bu çözümlerden bir tanesi, ayni işi veritabaninda saklı yordam ile de yapabilirsin.
  • 22-02-2015, 11:41:17
    #4
    BigCoder'ın verdiği örnek kullanılabilir. Ancak tablodan bir kayıt silindiğinde, bazı kayıt numaraları tekrar verilir.

    Bunu önlemek için; fonksiyondaki sorguyu "Select KayitNumarasi From Tablomuz Where KayitYili="&NeyeGore&" Order By KayitNumarasi Desc Limit 0, 1" şeklinde değiştirmekte yarar var.

    Mysql veritabanı kullandığını varsayarak "limit" kullandım. Diğerleri için "select top 1" yazabilirsin.
  • 24-02-2015, 11:04:31
    #5
    BigCoder adlı üyeden alıntı: mesajı görüntüle
    <%
    Function Yenisayiver(NeyeGore)
    DbSonuc = Sorgun.Execute("Select Count(IDno) From Tablomuz Where KayitYili="&NeyeGore&")
    Yenisayiver = DbSonuc + 1
    End Function
    
    Sub OgrenciKayit()
    Yilimiz = Year(Now)
    Sorgun.Execute("insert into Tablomuz (AdSoyad,KayitYili,KayitNumarasi) Values ('Adisoyadi',"&Yilimiz&","&Yenisayiver(Yilimiz)&");")
    End Sub
    'Yani = Git veritabanına bak o yıl için kactane kayıt yaptık bir sonuca bir ekle ve yeni sayıya göre kayıt yap.
    %>
    Rica etsem bu kodu benim siteye göre düzenlermisiniz. Ben yapamadım çünkü.
  • 24-02-2015, 11:06:18
    #6
    saat-dakika-saniye-gün-ay-yıl bu şekilde kod da verebilirsin.
    ben opencartta kullanıyorum.
  • 25-02-2015, 09:09:35
    #7
    Misafir adlı üyeden alıntı: mesajı görüntüle
    BigCoder'ın verdiği örnek kullanılabilir. Ancak tablodan bir kayıt silindiğinde, bazı kayıt numaraları tekrar verilir.

    Bunu önlemek için; fonksiyondaki sorguyu "Select KayitNumarasi From Tablomuz Where KayitYili="&NeyeGore&" Order By KayitNumarasi Desc Limit 0, 1" şeklinde değiştirmekte yarar var.

    Mysql veritabanı kullandığını varsayarak "limit" kullandım. Diğerleri için "select top 1" yazabilirsin.
    denom adlı üyeden alıntı: mesajı görüntüle
    elinde kod varsa yardımcı olayim
    kayıt formundan gelen bilgileri kayıt eden sayfam bu..

    <!--#include file="baglanti.asp"-->
     
    <%
    dim rsUye1
    Dim  DbSonuc
    KAYIT_NO=Request.Form("KAYIT_NO")
    
    strSQL = "SELECT KAYIT_NO FROM UYELER WHERE KAYIT_NO LIKE '"& KAYIT_NO &"'"
    set rsUye1 = server.CreateObject("adodb.recordset")
    rsUye1.Open strSQL, adocon
    
    if NOT rsUye1.bof or KAYIT_NO="2013/" then
    response.Write("<br/><br/><img src='images/hata.gif' /><br/><br/>Bu başvuru numarası zaten kayıtlı.<br/><br/>")
    response.Write("<img src='images/ok.gif' /> <a href=JavaScript:history.go(-1)>Geri dönüp başvuru numarasını kontrol ediniz.</a><br><br><br><br>")
    else
    
    KAYIT_TARIHI=Request.Form("KAYIT_TARIHI")
    UYE_TELEFON=Request.Form("UYE_TELEFON")
    KAYIT_TURU=Request.Form("KAYIT_TURU")
    ekozellik=Request.Form("ekozellik")
    FIRMA_ADRES=Request.Form("FIRMA_ADRES")
    TALEP=Request.Form("TALEP")
    BEDEL=Request.Form("BEDEL")
    
    if sString = "" then
    dim  dtToday
    dtToday = date()
    
    strSQL = "SELECT * FROM UYELER"
    set rsUye = server.CreateObject("adodb.recordset")
    rsUye.Open strSQL, adocon,1,3
    rsUye.AddNew
    
    rsUye("KAYIT_TARIHI")=KAYIT_TARIHI
    rsUye("KAYIT_NO")=KAYIT_NO
    rsUye("TC_NO")=TC_NO
    rsUye("UYE_ADI")=UYE_ADI
    rsUye("UYE_TELEFON")=UYE_TELEFON
    rsUye("KAYIT_TURU")=KAYIT_TURU
    rsUye("ekozellik")=ekozellik
    rsUye("UYE_ADRES")=UYE_ADRES
    rsUye("FIRMA")=FIRMA
    rsUye("FIRMA_ADRES")=FIRMA_ADRES
    rsUye("TALEP")=TALEP
    rsUye("BEDEL")=BEDEL
    
    rsUye.Update
    rsUye.close
    set rs=nothing
    response.Write("<img src='images/tamam.png'/><br><br><br>")
    response.Write("Başvuru Başarıyla Alınmıştır.<br><br><br><br>")
    response.Write("<a href=basvurular.asp>Başvurulara Geri Dön</a><br><br><br>")
    %>
    
    <%else%>
        
    <% =sString %>   								
    
    <% end if %>
    <% end if %>
    buda baglanti kodu;
    Alıntı
    <%
    mysql_server = "*****"
    mysql_user = "*****"
    mysql_pass = "*****"
    mysql_db = "*****"

    Set adoCon = Server.createObject("Adodb.Connection")
    adoCon.Open "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=" & mysql_server & "; UID=" & mysql_user & "; pwd=" & mysql_pass & "; db=" & mysql_db & "; stmt=SET NAMES 'latin5';"

    %>
  • 25-02-2015, 13:12:26
    #8
    bunu kullanabilirsin. beytepeli nin da bahsettiği gibi bir fonksiyon.

    Response.Write "id = " & uniqueid()

    Function uniqueid()
    Dim Temp
    Temp = Right(String(4,48) & Year(Now()),4)
    Temp = Temp & Right(String(4,48) & Month(Now()),2)
    Temp = Temp & Right(String(4,48) & Day(Now()),2)
    Temp = Temp & Right(String(4,48) & Hour(Now()),2)
    Temp = Temp & Right(String(4,48) & Minute(Now()),2)
    Temp = Temp & Right(String(4,48) & Second(Now()),2)
    uniqueid = Temp
    End Function

    Kaynak : Microsoft

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 13:12:26 -->-> Daha önceki mesaj 12:56:51 --

    Bu arada sql injection a karşı koruman yok. R10 da veya internette araştır istersen.
    KAYIT_NO=Request.Form("KAYIT_NO")
  • 25-02-2015, 15:12:36
    #9
    denom adlı üyeden alıntı: mesajı görüntüle
    bunu kullanabilirsin. beytepeli nin da bahsettiği gibi bir fonksiyon.

    Response.Write "id = " & uniqueid()

    Function uniqueid()
    Dim Temp
    Temp = Right(String(4,48) & Year(Now()),4)
    Temp = Temp & Right(String(4,48) & Month(Now()),2)
    Temp = Temp & Right(String(4,48) & Day(Now()),2)
    Temp = Temp & Right(String(4,48) & Hour(Now()),2)
    Temp = Temp & Right(String(4,48) & Minute(Now()),2)
    Temp = Temp & Right(String(4,48) & Second(Now()),2)
    uniqueid = Temp
    End Function

    Kaynak : Microsoft

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 13:12:26 -->-> Daha önceki mesaj 12:56:51 --

    Bu arada sql injection a karşı koruman yok. R10 da veya internette araştır istersen.
    KAYIT_NO=Request.Form("KAYIT_NO")
    kusura bakmayın bu verdiğiniz kodları benim yukarıda vermiş oldugum kodların neresine yazacagım. bilgim cok fazla değil özür dilerim