Ce code SQL devrait résoudre le problème :
Code : Tout sélectionner
ALTER TABLE `smi_dde` CHANGE `dde_pays` `dde_codepays` VARCHAR( 3 ) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL ;
ALTER TABLE `smi_dde` DROP INDEX `dde_pays` ;
ALTER TABLE `smi_dde` ADD INDEX ( `dde_codepays` ) ;
Par ailleurs, il faut modifier les lignes de codes suivantes :
Fichier dde_enr.inc.php, ligne 86
$rech = "INSERT INTO " .TBDDE. " (dde_datecrea,dde_codecrea,dde_datemod,dde_codemod,dde_code,dde_orig,dde_codeddet,dde_codeddec,dde_codedded,dde_ste,dde_civilite,dde_prenom,dde_nom,dde_adr1,dde_adr2,dde_dep,dde_ville,dde_pays,dde_telf,dde_fax,dde_telp,dde_email,dde_txtdde)";
en
$rech = "INSERT INTO " .TBDDE. " (dde_datecrea,dde_codecrea,dde_datemod,dde_codemod,dde_code,dde_orig,dde_codeddet,dde_codeddec,dde_codedded,dde_ste,dde_civilite,dde_prenom,dde_nom,dde_adr1,dde_adr2,dde_dep,dde_ville,dde_codepays,dde_telf,dde_fax,dde_telp,dde_email,dde_txtdde)";
Fichier func_geo.inc.php, ligne 198
$rexist = "SELECT * FROM `" .TBDDE. "` WHERE `dde_dep` = '$code' AND `dde_pays` = '$pays'";
en
$rexist = "SELECT * FROM `" .TBDDE. "` WHERE `dde_dep` = '$code' AND `dde_codepays` = '$pays'";
Fichier func_geo.inc.php, ligne 298
$rexist = "SELECT * FROM `" .TBDDE. "` WHERE `dde_pays` = '$code'";
en
$rexist = "SELECT * FROM `" .TBDDE. "` WHERE `dde_codepays` = '$code'";
Fichier func_txtcm.inc.php, ligne 595
$txt = ereg_replace("%pays_dde%",Retournepays_open($dde_pays,TRUE),$txt);
en
$txt = ereg_replace("%pays_dde%",Retournepays_open($dde_codepays,TRUE),$txt);
Merci pour avoir vu ce problème, il est passé au travers sur les tests.