• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Guilds.php - Guilds not showed

GM Venom

Active Member
Joined
Jan 28, 2013
Messages
145
Reaction score
28
I am using Znote AAC for my website, the problem is that guilds are not being showed, it says "Guild list is empty".
I can create guilds and they will be stored in the mysql database, but they wont be displayed on the website.
Znote says that it has to do with my functions.
Can someone help me please?



Znote said that this have to be done in order for it to work:
use the Znote AAC pre-configured mysql functions (mysql_select_single and mysql_select_multi) instead of the normal mysql functions. Since the mysql lib is deprecated in the new PHP version. Now php supports mysqli, and the functions I have made on Znote AAC takes care of that compatibility for you, so you just code using my functions, and it will work regardless if its using the mysql drivers or the mysqli drivers.



Here is my guild related code in users.php (functions):
PHP:
// GUILDS
//
function guild_remove_member($cid) {
    $cid = (int)$cid;
    mysql_query("UPDATE `players` SET `rank_id`='0' WHERE `id`=$cid") or die(mysql_error());
}

// Change guild rank name.
function guild_change_rank($rid, $name) {
    $rid = (int)$rid;
    $name = sanitize($name);
 
    mysql_query("UPDATE `guild_ranks` SET `name`='$name' WHERE `id`=$rid") or die(mysql_error());
}

// Change guild leader (parameters: cid, new and old leader).
function guild_change_leader($nCid, $oCid) {
    $nCid = (int)$nCid;
    $oCid = (int)$oCid;
    $gid = guild_leader_gid($oCid);
    $ranks = get_guild_rank_data($gid);
 
    $leader_rid = 0;
    $vice_rid = 0;
 
 
    // Get rank id for leader and vice leader.
    foreach ($ranks as $rank) {
        if ($rank['level'] == 3) $leader_rid = $rank['id'];
        if ($rank['level'] == 2) $vice_rid = $rank['id'];
    }
 
    $status = false;
    if ($leader_rid > 0 && $vice_rid > 0) $status = true;
 
    // Verify that we found the rank ids for vice leader and leader.
    if ($status) {
        // Update players and set their new rank id
        mysql_query("UPDATE `players` SET `rank_id`='$leader_rid' WHERE `id`=$nCid") or die(mysql_error());
        mysql_query("UPDATE `players` SET `rank_id`='$vice_rid' WHERE `id`=$oCid") or die(mysql_error());
     
        // Update guilds set new ownerid
        guild_new_leader($nCid, $gid);
    }
 
    return $status;
}

// Changes leadership of aguild to player_id
function guild_new_leader($new_leader, $gid) {
    $new_leader = (int)$new_leader;
    $gid = (int)$gid;
    mysql_query("UPDATE `guilds` SET `ownerid`='$new_leader' WHERE `id`=$gid") or die(mysql_error());
}

// Returns $gid of a guild leader($cid).
function guild_leader_gid($leader) {
    $leader = (int)$leader;
    $query = mysql_query("SELECT `id` FROM `guilds` WHERE `ownerid`='$leader';");
    $row = mysql_fetch_assoc($query);
    return !empty($row) ? $row['id'] : false;
}

// Returns guild leader(charID) of a guild. (parameter: guild_ID)
function guild_leader($gid) {
    $gid = (int)$gid;
    return mysql_result(mysql_query("SELECT `ownerid` FROM `guilds` WHERE `id`='$gid';"), 0, 'ownerid');
}

// Disband guild
function guild_remove_invites($gid) {
    $gid = (int)$gid;
    mysql_query("DELETE FROM `guild_invites` WHERE `guild_id`='$gid';");
}

// Remove guild invites
function guild_delete($gid) {
    $gid = (int)$gid;
    mysql_query("DELETE FROM `guilds` WHERE `id`='$gid';");
}

// Player leave guild
function guild_player_leave($cid) {
    $cid = (int)$cid;
    mysql_query("UPDATE `players` SET `rank_id`='0' WHERE `id`=$cid");
}

// Player join guild
function guild_player_join($cid, $gid) {
    // Get rank data
    $ranks = get_guild_rank_data($gid);
 
    // Locate rank id for regular member position in this guild
    $rid = false;
    foreach ($ranks as $rank) {
        if ($rank['level'] == 1) $rid = $rank['id'];
    }
 
    // Sanitize cid
    $cid = (int)$cid;
 
    // Create a status we can return depending on results.
    $status = false;
 
    // Add to guild if rank id was found:
    if ($rid != false) {
        // Remove the invite:
        guild_remove_invitation($cid, $gid);
     
        // Add to guild:
        mysql_query("UPDATE `players` SET `rank_id`='$rid' WHERE `id`=$cid") or die(mysql_error());
        $status = true;
    }
 
    return $status;
}

// Remove cid invitation from guild (gid)
function guild_remove_invitation($cid, $gid) {
    $cid = (int)$cid;
    $gid = (int)$gid;
    mysql_query("DELETE FROM `guild_invites` WHERE `player_id`='$cid' AND `guild_id`='$gid';");
}

// Invite character to guild
function guild_invite_player($cid, $gid) {
    $cid = (int)$cid;
    $gid = (int)$gid;
    mysql_query("INSERT INTO `guild_invites` (`player_id`, `guild_id`) VALUES ('$cid', '$gid')") or die(mysql_error());
}

// Gets a list of invited players to a particular guild.
function guild_invite_list($gid) {
    $gid = (int)$gid;
    $query = mysql_query("SELECT `player_id`, `guild_id` FROM `guild_invites` WHERE `guild_id`='$gid'");
    $array = array();
    while($row = mysql_fetch_assoc($query)) {
        $array[] = $row;
    }
    return !empty($array) ? $array : false;
}

// Update player's guild position
function update_player_guild_position($cid, $rid) {
    $cid = (int)$cid;
    $rid = (int)$rid;
    mysql_query("UPDATE `players` SET `rank_id`='$rid' WHERE `id`=$cid") or die(mysql_error());
}

// Get guild data, using guild id.
function get_guild_rank_data($gid) {
    $gid = (int)$gid;
    $query = mysql_query("SELECT `id`, `guild_id`, `name`, `level` FROM `guild_ranks` WHERE `guild_id`='$gid' ORDER BY `id` DESC LIMIT 0, 30");
    $array = array();
    while($row = mysql_fetch_assoc($query)) {
        $array[] = $row;
    }
    return !empty($array) ? $array : false;
}

// Creates a guild, where cid is the owner of the guild, and name is the name of guild.
function create_guild($cid, $name) {
        $cid = (int)$cid;
        $name = sanitize($name);
        $time = time();
    
        // Create the guild
        mysql_insert("INSERT INTO `guilds` (`name`, `ownerid`, `creationdata`) VALUES ('$name', '$cid', '$time')");
        echo '<br>Created guild.';
        // Get guild id
        $gid = get_guild_id($name);
        echo '<br>Gotten guild id: '. $gid;
    
        // Get rank id for guild leader
        $rid = mysql_select_single("SELECT `id` FROM `guild_ranks` WHERE `guild_id`='$gid' AND `level`='3' LIMIT 1;");
        $rid = $rid['id'];
        echo '<br>Gotten rank id: '. $rid;
    
        // Give player rank id for leader of his guild
        mysql_update("UPDATE `players` SET `rank_id`='$rid' WHERE `id`=$cid LIMIT 1");
        echo '<br>Player updated';
}

// Search player table on cid for his rank_id, returns rank_id
function get_character_guild_rank($cid) {
    $cid = (int)$cid;
    $rid = mysql_result(mysql_query("SELECT `rank_id` FROM `players` WHERE `id`='$cid';"), 0, 'rank_id');
    if ($rid > 0) return $rid;
    else return false;
}

// Get a player guild rank, using his rank_id
function get_player_guild_rank($rank_id) {
    $rank_id = (int)$rank_id;
    return mysql_result(mysql_query("SELECT `name` FROM `guild_ranks` WHERE `id`=$rank_id;"), 0, 'name');
}

// Get a player guild position ID, using his rank_id
function get_guild_position($rid) {
    $rid = (int)$rid;
    return mysql_result(mysql_query("SELECT `level` FROM `guild_ranks` WHERE `id`=$rid;"), 0, 'level');
}

// Get a players rank_id, guild_id, rank_level(ID), rank_name(string), using cid(player id)
function get_player_guild_data($cid) {
    $cid = (int)$cid;
    $rid = mysql_result(mysql_query("SELECT `rank_id` FROM `players` WHERE `id`='$cid';"), 0, 'rank_id');
    $gid = mysql_result(mysql_query("SELECT `guild_id` FROM `guild_ranks` WHERE `id`=$rid;"), 0, 'guild_id');
    $rl = mysql_result(mysql_query("SELECT `level` FROM `guild_ranks` WHERE `id`=$rid;"), 0, 'level');
    $rn = mysql_result(mysql_query("SELECT `name` FROM `guild_ranks` WHERE `id`=$rid;"), 0, 'name');
    $data = array(
        'rank_id' => $rid,
        'guild_id' => $gid,
        'rank_level' => $rl,
        'rank_name' => $rn,
    );
    return $data;
}

// Returns guild name of guild id
function get_guild_name($gid) {
    $gid = (int)$gid;
    return mysql_result(mysql_query("SELECT `name` FROM `guilds` WHERE `id`=$gid;"), 0, 'name');
}

// Returns guild id from name
function get_guild_id($name) {
    $name = sanitize($name);
    $data = mysql_select_single("SELECT `id` FROM `guilds` WHERE `name`='$name';");
    return ($data !== false) ? $data['id'] : false;
}

// Get complete list of guilds
function get_guilds_list() {
    $query = mysql_query("SELECT `id`, `name`, `creationdata` FROM `guilds` ORDER BY `name`;");
    $array = array();
    while($row = mysql_fetch_assoc($query)) {
        $array[] = $row;
    }
    return !empty($array) ? $array : false;
}

// Get array of player data related to a guild.
function get_guild_players($gid) {
    $gid = (int)$gid; // Sanitizing the parameter id
    $query = mysql_query("SELECT p.rank_id, p.name, p.level, p.vocation FROM players AS p LEFT JOIN guild_ranks AS gr ON gr.id = p.rank_id WHERE gr.guild_id =$gid");
    $array = array();
    while ($row = mysql_fetch_assoc($query)) {
        $array[] = $row;
    }
 
    return !empty($array) ? $array : false;
}

// Returns total members in a guild (integer)
function count_guild_members($gid) {
    $gid = (int)$gid;
    return mysql_result(mysql_query("SELECT COUNT(p.id) AS total FROM players AS p LEFT JOIN guild_ranks AS gr ON gr.id = p.rank_id WHERE gr.guild_id =$gid"), 0, 'total');
}
 
These are the functions you should use. I tried to give a brief explanation of when you should use each function.
PHP:
mysql_select_single($query) // When you want to select a single result, returns an array with the selected fields as indexes
mysql_select_multin($query) // When you want to select multiple results, returns an array of results, each result is also an array, same as above
mysql_update($query) // When you want to update an existing entry (returns nothing)
mysql_insert($query) // When you want to insert a new entry (returns nothing)
mysql_delete($query) // When you want to delete an entry (returns nothing)
 
Back
Top