Bonjour,
J'ai mon tableau qui est comme ceci
Donc ce tableau je veut l'insérer dans ma base de données
Le in_array ne supprime pas les membres pourtant il aurai du m'en supprimer déjà 2 membres
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)
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

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)