Partage
  • Partager sur Facebook
  • Partager sur Twitter

vider un champ: problème !

    1 juillet 2010 à 11:15:44

    Bonjour

    J'aimerais que lorsque l'on vire un personnage (virtuel), on le supprime de la liste des personnages (ça j'ai réussit, il n'y a pas de problème) mais également que l'on libère sa place dans un véhicule (si il en a un) j'ai donc pensé à faire cette requête:

    mysql_query('UPDATE mes_vl SET policier1="",  policier2="", policier3="", policier4="", policier5="", policier6="" WHERE policier1="'.$id.'" OR policier2="'.$id.'" OR policier3="'.$id.'" OR policier4="'.$id.'" OR policier5="'.$id.'" OR policier6="'.$id.'" OR  ');
    


    Le seul problème, c'est que ça me libèrerai toutes les places du véhicule où il y aurait ce personnage, même celle des autres personnages (Or, on ne veut pas libérer leur place à eux !) Donc si vous savez comment faire pour libérer juste la place du personnage concerné, faîtes le moi savoir !

    Merci de votre aide.
    • Partager sur Facebook
    • Partager sur Twitter
      1 juillet 2010 à 14:45:03

      Slt,

      Déjà ta syntaxe est incorrecte, tu finis ta requête avec "OR" et rien après. Ensuite, tu dis à MySQL de changer la valeur des champs "policier1" à "policier6" dans toutes les entrées ou le personnage qui vient d'être supprimé occupé une place. Donc dès qu'il trouve cette entrée, il vide la voiture en gros.

      Tu dois d'abord savoir quelle place occupée le personnage supprimé, et ensuite vider le champ approprié.
      • Partager sur Facebook
      • Partager sur Twitter
        2 juillet 2010 à 21:02:57

        "Ensuite, tu dis à MySQL de changer la valeur des champs "policier1" à "policier6" dans toutes les entrées ou le personnage qui vient d'être supprimé occupé une place. Donc dès qu'il trouve cette entrée, il vide la voiture en gros." c'est ce que j'ai dit ^^

        Le hic c'est que je peux pas savoir quelle place il occupe(regarde la structure de mes table pour comprendre)

        La liste des membres qu'on a:
        
        CREATE TABLE IF NOT EXISTS `mes_hommes` (
          `id` int(11) NOT NULL AUTO_INCREMENT,
          `id_membre` int(11) NOT NULL,
          `nom` varchar(255) NOT NULL,
          `grade` varchar(255) NOT NULL,
          `vl_attrib` int(11) DEFAULT NULL,
          `speci` varchar(255) DEFAULT NULL,
          `exp` int(11) NOT NULL,
          `reserviste` int(11) DEFAULT NULL,
          `arrest` int(11) DEFAULT NULL,
          `statut` int(11) DEFAULT NULL,
          `date` int(11) NOT NULL,
          PRIMARY KEY (`id`)
        ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
        
        
        Et ici la liste des véhicules que l'on a avec dans policier1, policier2, etc. l'id du membre qui se trouve dans mes_hommes:
        
        CREATE TABLE IF NOT EXISTS `mes_vl` (
          `id` int(11) NOT NULL AUTO_INCREMENT,
          `id_cs` int(11) NOT NULL,
          `id_vl` int(11) NOT NULL,
          `heure_last_inter` int(11) NOT NULL,
          `essance` int(11) NOT NULL,
          `etat` int(11) NOT NULL,
          `policier1` varchar(255) DEFAULT NULL,
          `policier2` varchar(255) DEFAULT NULL,
          `policier3` varchar(255) DEFAULT NULL,
          `policier4` varchar(255) DEFAULT NULL,
          `policier5` varchar(255) DEFAULT NULL,
          `policier6` varchar(255) DEFAULT NULL,
          `date` int(11) NOT NULL,
          `statut` int(11) DEFAULT NULL,
          UNIQUE KEY `id` (`id`)
        ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
        

        • Partager sur Facebook
        • Partager sur Twitter
          2 juillet 2010 à 22:23:20

          Passe par php pour savoir. Tu récupère les tuples où y'a le personnage, puis tu check avec php, et enfin tu update.
          • Partager sur Facebook
          • Partager sur Twitter

          vider un champ: problème !

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown