Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

XP और लेवलिंग सिस्टम PHP MYSQL

आप कुछ इस तरह से कोशिश कर सकते हैं:

हमारे पास users_xp है हमारे डीबी में तालिका, user_xp_id . के साथ (प्राथमिक कुंजी - स्वतः वृद्धि), user_id और user_xp_amount (डिफ़ॉल्ट मान:0) फ़ील्ड। जब हम उपयोगकर्ता xp राशि को अपडेट करना चाहते हैं तो हमें यह करना चाहिए:

$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');

function update_user_xp($user_id, $amount, $mysqli) {
    $mysqli->query("UPDATE users_xp 
                    SET user_xp_amount=user_xp_amount+" . $amount . " 
                    WHERE user_id='$user_id'");
}

// we call this function like:
update_user_xp(4, 10, $mysqli); // user_id: 4, update with 10 points

जब हम वास्तविक उपयोगकर्ता xp राशि प्राप्त करना चाहते हैं तो हम इसे अपनी डीबी तालिका से प्राप्त कर सकते हैं

function get_user_xp($user_id, $mysqli) {
    $sql = $mysqli->query("SELECT user_xp_amount 
                           FROM users_xp 
                           WHERE user_id='$user_id'");
   $row = $sql->fetch_assoc();
   return $row['user_xp_amount'];

}

$xp = array('lvl1' => 0, 'lvl2' => 256, 'lvl3' => 785, 'lvl4' => 1656, 'lvl5' => 2654);

$my_xp = get_user_xp(4, $mysqli); // where 4 is my user id

for($i = 0; $i < count($xp); $i++) {
   if($my_xp == $xp[$i]) {
       echo 'I\'m on level ', ($i+1);
       break;
   }
   else {
       if(isset($xp[$i+1])) {
           if($my_xp > $xp[$i] && $my_xp <= $xp[$i + 1]) {
               echo 'My next level is ', ($i+2), ' and I need ', $xp[$i+1], ' more points for achieving it!';
               break;
            } else {
               echo 'My next level is ', ($i+1), ' and I need ', $xp[$i], ' more points for achieving it!';
               break;
            }
        }
    }
}

बाद में संपादित करें:

CREATE TABLE `my_db_name`.`users_xp` (
`user_xp_id` BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`user_id` BIGINT NOT NULL ,
`user_xp_amount` BIGINT NOT NULL DEFAULT '0'
) ENGINE = InnoDB;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL कमांड लाइन का उपयोग करके फाइलों से आयात और निर्यात करना

  2. इस प्रश्न को वाक्पटु के लिए परिवर्तित करें

  3. कुछ इंडेक्स के लिए JSON से पुनरावृति करें और अद्वितीय मान प्राप्त करें

  4. डॉकटर के माध्यम से लोकलहोस्ट पर MySQL सर्वर से कनेक्ट करना

  5. मुझे विंडोज़ mysql सर्वर के लिए my.ini फ़ाइल फ़ाइल कहाँ मिल सकती है?