Créer un update d'une table sur une autre

xpmen Messages postés 9 Date d'inscription samedi 12 novembre 2005 Statut Membre Dernière intervention 11 janvier 2009 - 4 janv. 2009 à 16:50
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 - 11 janv. 2009 à 11:15
bonjour,
voila je possède un forum phpbb que je modifié selon mes besoin, et la je bute sur une modif.

sur l'un de mes fichier php j'ai une requête soumise, et je voudrai pouvoir faire la même chose sur une autre table que j'ai créer (c'est une copie de la première, avec les même champs, je l'est juste renommé)

voici la perti concerné:
if (($game_scoretype SCORETYPE_HIGH &amp;&amp; $game_highscore < $score) || ($game_scoretype SCORETYPE_LOW &amp;&amp; $game_highscore  > $score))
{
 $sql_ary = array(
  'game_highscore'  => $score,
  'game_highuser'   => $user->data['user_id'],
  'game_highdate'   => $current_time,
 );


 $sql = 'UPDATE ' . ARCADE_GAMES_TABLE . '
   SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
   WHERE game_id = ' . (int) $game_id;
 $db->sql_query($sql);


 $cache->destroy('sql', ARCADE_CATS_TABLE);
 $cache->destroy('sql', ARCADE_GAMES_TABLE);
 $cache->destroy('sql', ARCADE_SCORES_TABLE);
 $cache->destroy('_arcade_leaders');
 $cache->destroy('_arcade_leaders_all');


 $saved_highscore = true;


je garde ce code, mais je veux juste faire aussi un update d'une deuxième table qui est identique mais porte le nom de ARCADE_ULTIME

j'ai beau tout tenter, je n'arrive a rien, pouvez vous me mettre sur la vois
merci

5 réponses

kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
4 janv. 2009 à 17:15
Si tu remplaces ça :
$sql = 'UPDATE ' . ARCADE_GAMES_TABLE . '
   SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
   WHERE game_id = ' . (int) $game_id;

par ça :

$sql = 'UPDATE ' . ARCADE_ULTIME . '
   SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
   WHERE game_id = ' . (int) $game_id;

Ca ne fonctionne pas ?

Kohntark -
0
xpmen Messages postés 9 Date d'inscription samedi 12 novembre 2005 Statut Membre Dernière intervention 11 janvier 2009
4 janv. 2009 à 17:34
salut kohntark,
ben si, sans doute, mais dans ce cas, la table ARCADE_GAMES elle ne ce mettra pas a jour.

je ne veux pas supprimer la mise a jour de le table ARCAD_EGAMES, mais faire en même temps avec les même donner la mise a jour de la table ARCADE_ULTIME.

merci kohntark
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
4 janv. 2009 à 17:59
Salut,

Dans ce cas là tu ne remplaces pas, tu ajoutes

$sql = 'UPDATE ' . ARCADE_GAMES_TABLE . '
   SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
   WHERE game_id = ' . (int) $game_id;
$db->sql_query($sql);

$sql = 'UPDATE ' . ARCADE_ULTIME . '
   SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
   WHERE game_id = ' . (int) $game_id;
$db->sql_query($sql);

C'est sans doute le plus simple, mais pas le plus beau puisqu'une seule requête suffit. Mais pour ça il faut sans doute modifier la classe (instance $db)

Pourrai je connaitre le but de faire 2 tables identiques ?

Kohntark -
0
xpmen Messages postés 9 Date d'inscription samedi 12 novembre 2005 Statut Membre Dernière intervention 11 janvier 2009
11 janv. 2009 à 10:29
un grand merci kohntark, sa marche
désolé du retard de réponse, une grippe ma collé au lit
encore merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
11 janv. 2009 à 11:15
Ca traine en ce moment . Bon rétablissement.

Et merci d'avoir répondu,

Kohntark -
0
Rejoignez-nous