Suppression d'un champs enum

cs_rymoucha Messages postés 37 Date d'inscription jeudi 19 avril 2007 Statut Membre Dernière intervention 30 novembre 2009 - 28 avril 2008 à 18:14
cs_rymoucha Messages postés 37 Date d'inscription jeudi 19 avril 2007 Statut Membre Dernière intervention 30 novembre 2009 - 30 avril 2008 à 15:22
coucou tout le monde,
voila j'ai un attribut dans une liste de type ENUM ('ADSL','WIMAX'..)
je voulais savoir s'il existait un moyen pour supprimer par ADSL de cet enum
merci pour votre aide

6 réponses

gibozsec Messages postés 318 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 11 mars 2010
28 avril 2008 à 21:38
Bonjour,

Par ADSL ? Qu'est ce que tu veux dire par là ?

Si tu parle d'un champ enum dans une base de données, tu peux utiliser 'ALTER TABLE' qui permet de modifier la structure d'une table. Tu trouveras les infos pour l'utiliser sur le net, si tu as du mal n'hésite pas à demander des précisions.

Grrrrrrrrrrr
0
cs_rymoucha Messages postés 37 Date d'inscription jeudi 19 avril 2007 Statut Membre Dernière intervention 30 novembre 2009
28 avril 2008 à 22:10
desole je me suis trompee quand j'ai poste le probleme.
voila pour etre plus precise.
l'attribut Type_cnx est un ENUM contenant les valeurs suivantes: ADSL, WIMA, VSAT
la suppression que je veux faire est  celle de supprimer par exemple une des valeurs suivante: par exemple ADSL .
ainsi j aurai dans cet attribut les valeurs restantes.
j'espere que c'est mieux ainsi
merci pour votre aide
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
28 avril 2008 à 22:32
Hello,

gibozsec t'a quand même donné la réponse.
0
cs_rymoucha Messages postés 37 Date d'inscription jeudi 19 avril 2007 Statut Membre Dernière intervention 30 novembre 2009
29 avril 2008 à 09:22
bonjour tout le monde,
gibozsec je voudrais bien que tu m'expliques un peu plus comment faire la requete car là je vois pas vraiment comment surtout que je suis  débutante.
merci pour ton aide  
0

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

Posez votre question
gibozsec Messages postés 318 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 11 mars 2010
29 avril 2008 à 20:07
La commande ALTER TABLE s'utilise de la manière suivante pour modifier un champ :
ALTER TABLE `nom_de_la_table` MODIFY `nom_du_champ`  nouveau_type_du_champ

Tu peux aussi modifier d'autres informations sur la table (ajout/suppression de champ, ..) avec un ALTER TABLE.

Pour plus d'infos tu peux aller sur ce site : http://sql.1keydata.com/fr/sql-alter-table.php

Grrrrrrrrrrr
0
cs_rymoucha Messages postés 37 Date d'inscription jeudi 19 avril 2007 Statut Membre Dernière intervention 30 novembre 2009
30 avril 2008 à 15:22
coucou tout le monde, enfin voici une methode pour supprimer une valeur d'un champs de type ENUM:

<?php
    $link = mysql_connect("localhost","root","");
    mysql_select_db('pfe_bd');
        $res=mysql_query("SHOW COLUMNS FROM connexion LIKE 'Type_CNX'") or die(mysql_error());
    $val=$_POST["typ_supp"];

        while($lig= mysql_fetch_array($res))
       {
          if(preg_match('!enum(.+)!',$lig['Type']))
        {
           $enum = preg_replace ('!^enum\((.+)\)$!', '$1', $lig['Type']);
           $enum = str_replace ("'", "", $enum);
           $enum = explode (',', $enum);
               $c="";                       
                   foreach ($enum as $valeur)
           {
               if($valeur!=$val)
               {
               $c=$c."'".$valeur."'".',';
               }
                   }
                }
                                             
      }
   
    echo'
';
   
    $i=strlen($c);
   
    $ch_f=substr_replace($c,"",$i-1,1);
   
    $sql="ALTER TABLE connexion CHANGE Type_CNX Type_CNX ENUM($ch_f) NULL DEFAULT NULL";
          mysql_query($sql) or die(mysql_error());
    echo'type connexion bien supprimé';
                               
    mysql_close($link);
?>

et ca marche vraiment
merci pour tout le monde
0
Rejoignez-nous