cs_brezoneg
Messages postés104Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention19 août 2015
-
25 juin 2007 à 17:46
J_G
Messages postés1406Date d'inscriptionmercredi 17 août 2005StatutMembreDernière intervention28 août 2007
-
26 juin 2007 à 10:55
Bonjour,
J'ai une table dont la stucture est la suivante :
-- Structure de la table `datelevp`
CREATE TABLE `datelevp` (
`id_nom` int(10) NOT NULL auto_increment,
`nom` text NOT NULL,
`act1` NOT NULL,
`act3` NOT NULL,
PRIMARY KEY (`id_nom`)
) TYPE=MyISAM AUTO_INCREMENT=3 ;
-- Contenu de la table `datelevp`
--
INSERT INTO `datelevp` VALUES (1, Nom, '15', '12');
INSERT INTO `datelevp` VALUES (2, BIBI, '10', '17');
Lorsque je fait des remise à zéro de mon application et donc de ce genre de table,( en PHP)je souhaiterais conserver les deux premier champ ( id_nom et nom)avec leur enregistrements et supprimer tous les autres champs de la forme actn ( ces champs sont créés et supprimeés dans l'appliation et donc le nombre indice peut être n'importe lequel)
Le piste, c'est avec :
sql="ALTER TABLE datelevp DROP act1";
mysql_query($sql);
mais peut t'on faire un truc du style :
sql="ALTER TABLE datelevp DROP tous les champs comme %act% ";
mysql_query($sql);
mais je vois pas comment.
j'espère avoir été clair ?
cs_brezoneg
Messages postés104Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention19 août 2015 25 juin 2007 à 22:42
En fait en attendant j'ai essayé ceci :( je récupère les enregistrements, je supprme la table , je recré la tale et je rajoute les enregistrement seulement pour les champs gardé) c'est tarabicoté, mais ça marche.
Merçi pour vos solutions
$result = mysql_query("SELECT * FROM datelevp ");
$nblignes = mysql_numrows($result);
for ($j=0;$j<$nblignes;$j=$j+1)
{$id = mysql_result($result,$j,"id_nom");
array_push ($dateid,$id);
$nom = mysql_result($result,$j,"nom");
array_push ($datenom,$nom);}
$sql="DROP TABLE datelevp";
mysql_query($sql);
$sql="CREATE TABLE datelevp (
id_nom int(10) NOT NULL auto_increment,
nom text NOT NULL,
PRIMARY KEY (id_nom)
) TYPE=MyISAM AUTO_INCREMENT=1
";
mysql_query($sql);
for ($j=0;$j<$nblignes;$j=$j+1)
{$requete="INSERT INTO datelevp(id_nom,nom)
VALUES('$dateid[$j]','$datenom[$j]')";
$verif = mysql_query($requete,$id_connex);
if($verif);}