• 06-05-2014, 21:38:14
    #1
    girmiş olduğum kayıtlara, her gün 1 den başlamak üzere sıra numarası veriyorum.

    "SELECT MAX( sira_no )" ile kontrol edip en buyuk degere +1 ekliyorum.

    örnegin.

    01.05.2014 tarihindeki kayıtlar 1 den başlıyor
    02.05.2014 ki kayıtlar yeniden 1 den başlıyor.

    sıkıntım şu.

    01.05.2014 tarihinde 5 kayıt girdim. sonrasında 3. kaydı sildim ve yeni bir kayıt girdim. benim girdiğim kayıt 6 oluyor. arada eksik sıra numarasi var mı ? bunu kontrol edip numarayı nasıl atarım?
  • 06-05-2014, 21:40:29
    #2
    ~Aykut adlı üyeden alıntı: mesajı görüntüle
    girmiş olduğum kayıtlara, her gün 1 den başlamak üzere sıra numarası veriyorum.

    örnegin.

    01.05.2014 tarihindeki kayıtlar 1 den başlıyor
    02.05.2014 ki kayıtlar yeniden 1 den başlıyor.

    sıkıntım şu.

    01.05.2014 tarihinde 5 kayıt girdim. sonrasında 3. kaydı sildim ve yeni bir kayıt girdim. benim girdiğim kayıt 6 oluyor. arada eksik sıra numarasi var mı ? bunu kontrol edip numarayı nasıl atarım?
    Hocam zaten o şekil olur. İd ile olduğu için.
  • 06-05-2014, 21:46:11
    #3
    id olarak farklı tutuyorum. o tarihe bakmadan numara atıyor.

    sırano demiş olduğum alan ise tarihi kontrol ederek en büyük rakamı atıyor.

    "SELECT MAX( sira_no )" ile kontrol edip en buyuk degere +1 ekliyorum. ama arayıda kontrol etmem lazım.
  • 07-05-2014, 03:20:06
    #4
    Üyeliği durduruldu
    ALTER TABLE `tablo` AUTO_INCREMENT = 1;
  • 07-05-2014, 05:41:01
    #5
    Sıra numarasını veritabanına girmek yerine timestamp olarak zaman girebilirsin. Timestamp yerine datetime da kullanabilirsin.
  • 07-05-2014, 06:50:28
    #6
    <?php
    $query = mysql_query("SELECT * FROM veritabani ORDER BY SIRA_NO DESC LIMIT 1");
    $row = mysql_fetch_object($query);
    $sonid = $row->sira_no;
    
    $islem = $sonid + "1";
    
    
    ?>
  • 07-05-2014, 07:04:17
    #7
    ~Aykut adlı üyeden alıntı: mesajı görüntüle
    girmiş olduğum kayıtlara, her gün 1 den başlamak üzere sıra numarası veriyorum.

    "SELECT MAX( sira_no )" ile kontrol edip en buyuk degere +1 ekliyorum.

    örnegin.

    01.05.2014 tarihindeki kayıtlar 1 den başlıyor
    02.05.2014 ki kayıtlar yeniden 1 den başlıyor.

    sıkıntım şu.

    01.05.2014 tarihinde 5 kayıt girdim. sonrasında 3. kaydı sildim ve yeni bir kayıt girdim. benim girdiğim kayıt 6 oluyor. arada eksik sıra numarasi var mı ? bunu kontrol edip numarayı nasıl atarım?
    Arkadaşlar mesajınızı okumamış sanırım hocam.

    Ben size anlatımını yapayım siz anlamanız açısından kendiniz yapın. Yapamazsanız kodu da veririm.

    Diyelim ki 5 kayıt eklediniz ve 3. kaydı sildiniz. Şu an 3. kayıt boş ve siz yeni bir kayıt ekleyeceksiniz. Kaydın 3. sıraya yerleşmesi sorun değilse;

    - Maksimum sıra numarasını edinin.
    - For döngüsü oluşturarak maksimum sıra numarasından 1'e kadar sayı eksilterek teker teker o sıra numarası var mı yok mu kontrol edin.
    - Sıra numarası eksik bir alana gelindiğinde for döngüsünü durdurun ve eksik olan sıra numarasını bir değişkene yazdırın.
    - Değişkene yazdırdığınız sıra numarasını yapacağınız kayıtta kullanın.
    - Eksik bir sıra numarası yoksa değişkene şu an olduğu gibi maksimum sıra numarasının bir üstünü alın.

    Önceki kayıtların 1'den 4'e kadar sıralanmasını ve yeni kaydın 5. sıraya girmesini istiyorsanız sıra numarasına göre kayıtları sıralatıp sira numaralarını 1'den başlatarak baştan yazdırın. Şu an gireceğiniz kaydı da onların bir üst sırasına yazdırın.

    Kolay gelsin.
  • 08-05-2014, 02:19:37
    #8
    sewakldawk adlı üyeden alıntı: mesajı görüntüle
    Arkadaşlar mesajınızı okumamış sanırım hocam.

    Ben size anlatımını yapayım siz anlamanız açısından kendiniz yapın. Yapamazsanız kodu da veririm.

    Diyelim ki 5 kayıt eklediniz ve 3. kaydı sildiniz. Şu an 3. kayıt boş ve siz yeni bir kayıt ekleyeceksiniz. Kaydın 3. sıraya yerleşmesi sorun değilse;

    - Maksimum sıra numarasını edinin.
    - For döngüsü oluşturarak maksimum sıra numarasından 1'e kadar sayı eksilterek teker teker o sıra numarası var mı yok mu kontrol edin.
    - Sıra numarası eksik bir alana gelindiğinde for döngüsünü durdurun ve eksik olan sıra numarasını bir değişkene yazdırın.
    - Değişkene yazdırdığınız sıra numarasını yapacağınız kayıtta kullanın.
    - Eksik bir sıra numarası yoksa değişkene şu an olduğu gibi maksimum sıra numarasının bir üstünü alın.

    Önceki kayıtların 1'den 4'e kadar sıralanmasını ve yeni kaydın 5. sıraya girmesini istiyorsanız sıra numarasına göre kayıtları sıralatıp sira numaralarını 1'den başlatarak baştan yazdırın. Şu an gireceğiniz kaydı da onların bir üst sırasına yazdırın.

    Kolay gelsin.
    veya tam tersi, her kayıtta 1 den başlayarak kontrol edebilirim. bu aklıma geldi fakat direk olarak sayıları kontrol eden bir kod var mı diye merak ettim?
  • 08-05-2014, 02:59:50
    #9
    Üyeliği durduruldu
    kullanmak istediğiniz tabloda auto incrementi kaldırın, sonrasında id atarken son id'den kontrol edip +1 yapın.