• 28-03-2023, 20:07:10
    #1
    Merhaba aşağıdaki kod dizini ile farklı veritabanındaki veriyi alıp diğer db de doğrulama yaparak sayısını yazdırmaya çalışıyorum fakat bir türlü beceremedim. $num_rows dan gelen veriyi okuyorum db->doRead olarak fakat tek komut satırı veriyor array olarak aldığımda da array parçalaması yapamadım biraz durum karıştı. Foreach ve while ile bazı denemeler yaptım fakat başarılı olamadım. Nasıl bir yol izlemem gerekli acaba ?

    function onlinehuman()
    {
    $db = $this->database[GDB];
    $db2 = $this->database[ADB];
    {

    $num_rows = $db->doQuery('SELECT *FROM ACCOUNT_CHAR WHERE bNation=1');

    $num_rows2 = $db2->doQuery('SELECT Count(*) as pCount FROM CURRENTUSER WHERE strAccountID=?',$characters );
    if ($num_rows2 == 1)
    {
    $row2 = $db2->doRead();
    $onlinehuman = $row2['pCount'];

    }
    return $onlinehuman;

    }
    }
  • 28-03-2023, 20:33:37
    #2
    function onlinehuman()
    {
    $db = $this->database[GDB];
    $db2 = $this->database[ADB];
    {
    $num_rows = $db->doQuery('SELECT * FROM ACCOUNT_CHAR WHERE bNation=1');
    
    $num_rows2 = $db2->doQuery('SELECT Count(*) as pCount FROM CURRENTUSER WHERE strAccountID=?', $characters);
    if ($num_rows2 == 1) {
    $row2 = $db2->doRead();
    $onlinehuman = $row2['pCount'];
    
    if ($num_rows == $onlinehuman) {
    echo "online kullanıcı sayıları eşit: " . $onlinehuman;
    } else {
    echo "online kullanıcı sayısı eşit değil";
    }
    }
    return $onlinehuman;
    }
    }
  • 28-03-2023, 20:37:21
    #3
    ifkadeveloper adlı üyeden alıntı: mesajı görüntüle
    function onlinehuman()
    {
    $db = $this->database[GDB];
    $db2 = $this->database[ADB];
    {
    $num_rows = $db->doQuery('SELECT * FROM ACCOUNT_CHAR WHERE bNation=1');
    
    $num_rows2 = $db2->doQuery('SELECT Count(*) as pCount FROM CURRENTUSER WHERE strAccountID=?', $characters);
    if ($num_rows2 == 1) {
    $row2 = $db2->doRead();
    $onlinehuman = $row2['pCount'];
    
    if ($num_rows == $onlinehuman) {
    echo "online kullanıcı sayıları eşit: " . $onlinehuman;
    } else {
    echo "online kullanıcı sayısı eşit değil";
    }
    }
    return $onlinehuman;
    }
    }
    Yok hocam yanlış anlattım sanırım problemimi. Burada yapmak istediğim şu aslında $num_rows sql sorgusundan strAccountID satırını çekip $num_rows 2 deki SQL sorgusunun içerisine yollamak ona göre online humana sayı olarak yazdırmak.
  • 28-03-2023, 20:46:47
    #4
    WordpressExpert adlı üyeden alıntı: mesajı görüntüle
    Yok hocam yanlış anlattım sanırım problemimi. Burada yapmak istediğim şu aslında $num_rows sql sorgusundan strAccountID satırını çekip $num_rows 2 deki SQL sorgusunun içerisine yollamak ona göre online humana sayı olarak yazdırmak.
    Anladım hocam umarım bu işinizi görür
    function onlinehuman()
    {
    $db = $this->database[GDB];
    $db2 = $this->database[ADB];
    
    $num_rows = $db->doQuery('SELECT strAccountID FROM ACCOUNT_CHAR WHERE bNation=1');
    
    $onlinehuman = 0;
    
    while ($row = $db->doRead()) {
    $characters = $row['strAccountID'];
    $num_rows2 = $db2->doQuery('SELECT COUNT(*) as pCount FROM CURRENTUSER WHERE strAccountID=?', $characters);
    if ($num_rows2 == 1) {
    $row2 = $db2->doRead();
    $onlinehuman += $row2['pCount'];
    }
    }
    
    return $onlinehuman;
    }
  • 28-03-2023, 23:06:56
    #5
    @ifkadeveloper arkadaşımız sorunu çözdü. Kendisine çok teşekkür ederim.