Suppression d'un champs enum

Signaler
Messages postés
37
Date d'inscription
jeudi 19 avril 2007
Statut
Membre
Dernière intervention
30 novembre 2009
-
Messages postés
37
Date d'inscription
jeudi 19 avril 2007
Statut
Membre
Dernière intervention
30 novembre 2009
-
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

Messages postés
318
Date d'inscription
mardi 27 mai 2003
Statut
Membre
Dernière intervention
11 mars 2010
1
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
Messages postés
37
Date d'inscription
jeudi 19 avril 2007
Statut
Membre
Dernière intervention
30 novembre 2009

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
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Hello,

gibozsec t'a quand même donné la réponse.
Messages postés
37
Date d'inscription
jeudi 19 avril 2007
Statut
Membre
Dernière intervention
30 novembre 2009

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  
Messages postés
318
Date d'inscription
mardi 27 mai 2003
Statut
Membre
Dernière intervention
11 mars 2010
1
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
Messages postés
37
Date d'inscription
jeudi 19 avril 2007
Statut
Membre
Dernière intervention
30 novembre 2009

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