• 27-08-2013, 10:12:08
    #1
    2 adet tablom var. 1. sinde aktif hale getirilmiş hesaplar diğerinde de boş hesaplar. Tablo örneği:

    Aktif Hesaplar
    id   -   userid  -  email  -  password
    Boş Hesaplar

    id   -  userid    -   userno
    Yeni hesap eklerken Boş hesaplar tablosundan bir userid seçiyorum. Yeni hesap açarken var olan hesabın tekrar seçilmemesi için Aktif hesaplar tablosunda bulunan userid nin boş hesaplar da görünmemesi lazım. Bunu nasıl yapabilirim?
  • 27-08-2013, 21:35:41
    #2
    Reveloper
    İki adet tablo oluşturarak veri tabanını yormak yerine şöyle birşey yapabilirsiniz.

    id ile userid aynı görevi görür zaten:

    id - email - password - active

    id= auto increment ile otomatik oluşturulur karışmaz
    email= varchar(100) verin.
    password=varchar(50)
    active=(1=aktif olsun. 0=pasif)
    CREATE TABLE IF NOT EXISTS `users` (
      `id` int(5) NOT NULL AUTO_INCREMENT,
      `email` int(100) NOT NULL,
      `password` int(50) NOT NULL,
      `active` int(1) NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

    YENİ ÜYE KAYDEDERKEN:
    <?php
    mysql_query("INSERT INTO users (email,password,active) VALUES ('$email','$password','0')")or die(mysql_error());;
    ?>
    AKTİF ÜYELERİ YAYINLAMAK İSTERSEN

    $uyecek = mysql_query("SELECT * FROM users WHERE active=1");
    while ( $list_users = mysql_fetch_array($uyecek) ){ // while
    echo '
    Üye Email: '.$list_users['email'].' <br/>
    Üye Şifre: '.$list_users['password'].' <br/>
    Üye Durumu: '.$list_users['active'].' <br/>
    
    ';
    }

    PASİF ÜYELERİ YAYINLAMAK İSTERSEN

    $uyecek = mysql_query("SELECT * FROM users WHERE active=0");
    while ( $list_users = mysql_fetch_array($uyecek) ){ // while
    echo '
    Üye Email: '.$list_users['email'].' <br/>
    Üye Şifre: '.$list_users['password'].' <br/>
    Üye Durumu: '.$list_users['active'].' <br/>
    
    ';
    }
    AKTİF PASİF FARKETMEZ ALAYINI YAYINLAMAK İSTERSEN:
    $uyecek = mysql_query("SELECT * FROM users");
    while ( $list_users = mysql_fetch_array($uyecek) ){ // while
    echo '
    Üye Email: '.$list_users['email'].' <br/>
    Üye Şifre: '.$list_users['password'].' <br/>
    Üye Durumu: '.$list_users['active'].' <br/>
    
    ';
    }
  • 27-08-2013, 22:36:54
    #3
    Burti adlı üyeden alıntı: mesajı görüntüle
    İki adet tablo oluşturarak veri tabanını yormak yerine şöyle birşey yapabilirsiniz.

    id ile userid aynı görevi görür zaten:

    id - email - password - active

    id= auto increment ile otomatik oluşturulur karışmaz
    email= varchar(100) verin.
    password=varchar(50)
    active=(1=aktif olsun. 0=pasif)
    CREATE TABLE IF NOT EXISTS `users` (
      `id` int(5) NOT NULL AUTO_INCREMENT,
      `email` int(100) NOT NULL,
      `password` int(50) NOT NULL,
      `active` int(1) NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

    YENİ ÜYE KAYDEDERKEN:
    <?php
    mysql_query("INSERT INTO users (email,password,active) VALUES ('$email','$password','0')")or die(mysql_error());;
    ?>
    AKTİF ÜYELERİ YAYINLAMAK İSTERSEN

    $uyecek = mysql_query("SELECT * FROM users WHERE active=1");
    while ( $list_users = mysql_fetch_array($uyecek) ){ // while
    echo '
    Üye Email: '.$list_users['email'].' <br/>
    Üye Şifre: '.$list_users['password'].' <br/>
    Üye Durumu: '.$list_users['active'].' <br/>
    
    ';
    }

    PASİF ÜYELERİ YAYINLAMAK İSTERSEN

    $uyecek = mysql_query("SELECT * FROM users WHERE active=0");
    while ( $list_users = mysql_fetch_array($uyecek) ){ // while
    echo '
    Üye Email: '.$list_users['email'].' <br/>
    Üye Şifre: '.$list_users['password'].' <br/>
    Üye Durumu: '.$list_users['active'].' <br/>
    
    ';
    }
    AKTİF PASİF FARKETMEZ ALAYINI YAYINLAMAK İSTERSEN:
    $uyecek = mysql_query("SELECT * FROM users");
    while ( $list_users = mysql_fetch_array($uyecek) ){ // while
    echo '
    Üye Email: '.$list_users['email'].' <br/>
    Üye Şifre: '.$list_users['password'].' <br/>
    Üye Durumu: '.$list_users['active'].' <br/>
    
    ';
    }
    zaten cevap gelmeyince bende aynı yönteme geçtim. Pasif üyeleri aktif tablosuna geçirirken pasifteki userid ye göre durumu 1 yapıyorum aktiften silerken de 0 olarak güncelliyorum. Aklıma başka bir çözüm gelmedi. Cevabın için teşekkürler yinede.