L'exemple suivant est un aide-mémoire pour moi seul, mais certains débutants pourront peut être y trouver leurs comptes ... Pour diverses raisons pratiques il est parfois nécessaire de fusionner deux champs d'une base de données vers un seul contenant l'ensemble des données. Le court programme suivant donne la solution. Il suffit de scanner chaque ligne de la table "artiste" et pour chaque ligne/entrée de mettre à jour grâce à "update". Sans le programme, il faudrait utiliser PhpMyadmin et modifier ligne par ligne à la main.
// déclaration de quelques variables
$host = "ladresseduserveur";
$user = "votrelogin";
$pass = "votremotdepasse";
$bdd = "lenomdelabasededonnees";
// connection avec MySQL
mysql_connect($host, $user, $pass) or die("Impossible de se connecter à la base
de données");
mysql_select_db($bdd) or die("Impossible de se connecter à la base de
données");
$sql = "SELECT * FROM artiste";
$res = mysql_query($sql);
// parcours des résultats de la requête
while ($val = mysql_fetch_assoc($res)){
$nom = trim($val["nomArt"]);
$prenom = trim($val["prenomArt"]);
$id = $val["id_artiste"];
$requete = "UPDATE artiste set identite=\"".$prenom. " ".$nom."\" WHERE
id_artiste=".$id.";";
echo $requete."\n ";
//execution de la mise à jour
mysql_query($requete);
}
?>
Note : Avant d'exécuter ce programme penser à mettre à jour la base pour disposer du champs "identite" par exemple. ALTER TABLE artiste ADD identite VARCHAR(50)
Questions / suggestions ? n'hésitez pas à déposez dans les commentaires vos remarques.