Bonjour,

J'ai mon tableau qui est comme ceci

Array
(
    [character] => Array
        (
            [name] => Jetox
            [realm] => Archimonde
            [battlegroup] => Cataclysme / Cataclysm
            [class] => 9
            [race] => 5
            [gender] => 0
            [level] => 88
            [achievementPoints] => 3860
            [thumbnail] => archimonde/88/9044568-avatar.jpg
            [spec] => Array
                (
                    [name] => Destruction
                    [role] => DPS
                    [backgroundImage] => bg-warlock-destruction
                    [icon] => spell_shadow_rainoffire
                    [description] => Un maître du chaos qui invoque le feu pour brûler et détruire ses ennemis.
                    [order] => 2
                )
 
            [guild] => Immørtals
            [guildRealm] => Archimonde
            [thumbnailURL] =>  http://eu.battle.net/static-render/eu/archimonde/88/9044568-avatar.jpg
 
        )
 
    [rank] => 9
    [rankname] => Sectateur
)
Array
(
    [character] => Array
        (
            [name] => Gobkol
            [realm] => Archimonde
            [battlegroup] => Cataclysme / Cataclysm
            [class] => 6
            [race] => 5
            [gender] => 0
            [level] => 69
            [achievementPoints] => 6515
            [thumbnail] => archimonde/228/41607908-avatar.jpg
            [spec] => Array
                (
                    [name] => Sang
                    [role] => TANK
                    [backgroundImage] => bg-deathknight-blood
                    [icon] => spell_deathknight_bloodpresence
                    [description] => Une sombre gardienne qui manipule et corrompt l'énergie vitale pour se renforcer lors des assauts ennemis.
                    [order] => 0
                )
 
            [guild] => Immørtals
            [guildRealm] => Archimonde
            [thumbnailURL] =>  http://eu.battle.net/static-render/eu/archimonde/228/41607908-avatar.jpg
 
        )
 
    [rank] => 9
    [rankname] => Sectateur
)
etc....


Donc ce tableau je veut l'insérer dans ma base de données

<?php
foreach($members as $member) {
 
    // Obtenir des informations des personnages
    $mname = $member['character']['name'];
    $mgender = $member['character']['gender'];
    $mlevel = $member['character']['level'];
    $mrace = $member['character']['race'];
    $mclass = $member['character']['class'];
    $mrank = $member['rank'];
    $machiev = $member['character']['achievementPoints'];
    $mtnURL = $member['character']['thumbnailURL'];
     
    $r = mysql_query("SELECT * FROM `wa_GuildMembers` WHERE name = '$mname';");
    $row = mysql_fetch_array($r);
    if (mysql_num_rows($r)==1)
    {
        $query = mysql_query("UPDATE `wa_GuildMembers` SET gender = '$mgender', level = '$mlevel', race = '$mrace', class = '$mclass', rank = '$mrank', achiev_points = '$machiev', tnURL = '$mtnURL' WHERE name = '$mname';") or die("Impossible de mettre a jour le membre dans la base de données.<br><br>" . mysql_error());
    }
    elseif(mysql_num_rows($r)==0)
    {
        //No local record found. Insert new row.
        $query2 = mysql_query("INSERT INTO `wa_GuildMembers` (name,gender,level,race,class,rank,achiev_points,tnURL,points) VALUES ('$mname','$mgender','$mlevel','$mrace','$mclass','$mrank','$machiev','$mtnURL','0')") or die("Impossible d'insérer le membre dans la base de données.<br><br>" . mysql_error());
    }
 
/* Si le nom du membre (BDD) n'est pas trouver dans l'api  on supprime de la base de données */
if (!in_array($member['character']['name'], $row['name'])) {
    $r = mysql_query("DELETE FROM wa_GuildMembers WHERE name='$mname';");
}
?>


Le in_array ne supprime pas les membres pourtant il aurai du m'en supprimer déjà 2 membres Smiley decu
Par contre si j'enlève le ! devant le in_array il me garde les 2 membres qui aurait du être supprimés et suppriment tout les autres membres.

Merci pour vos futurs réponses

Cordialement
Modifié par subzeros (28 Apr 2014 - 18:02)