Fusionner deux champs d'une base de données
Par Samuel MARTIN le jeudi, 16 août 2007, 23:45 - Programmation - Lien permanent
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.
<?php
// 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."
<br/>";
//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.
Commentaires
salut, je tombe sur ton site via Copaing!
Une suggestion: ou bien un simple
SELECT CONCAT(prenom, ' ', nom) peut aussi faire l'affaire, et comme ça tu ne repete pas l'information dans ta base!
Steven > Effectivement, CONCAT pourrait faire l'affaire, seul hic il faudrait pouvoir faire certaines opérations sur le nouveau champ concaténé, aussi nous avons ta solution, mais j'ai bien peur de devoir passer via une requête imbriquée et pâtir d'un temps d'exécution plus long.
Plus simple,
UPDATE artiste set identite= CONCAT(prenomArt, ' ', nomArt)
http://www.uggsboot.us
Unlike the boots
Ce site est vraiment bien et l'article est très interressant, merci.
When a few of us realize the exact soluton that some of the time that it begins to blend last week. Yes, It can be explained by your instructor
I travled to a retail merchant to find out more about the clothes
http://www.coachshandbags.com Coach outlet
http://www.chanelsonline.com chanel bags
http://www.mylouisvuitton.com louis vuitton outlet
http://www.suprasfootwear.org supra skytop
http://www.guccis.net gucci handbags
cocokathy
Welcome to fashion goods online store,
http://www.coachonsale.net Coach outlet
http://www.coachonsale.net coach bags
http://www.coachonsale.net coach outlet store online
http://www.chanels.cc chanel bags
http://www.chanels.cc chanel online
http://www.chanels.cc chanel handbags
http://www.uselv.com louis vuitton outlet
http://www.uselv.com louis vuitton sale
http://www.uselv.com louis vuitton handbags
http://www.coachs.cc coach outlet
http://www.coachs.cc coach outlet store online
http://www.coachs.cc coach handbags
http://www.nike-nike.com nike air max
http://www.nike-nike.com nike air max 90
http://www.nike-nike.com nike air max shoes
http://www.mbtshoes.cc MBT Shoes
http://www.mbtshoes.cc Anti Shoes
http://www.mbtshoes.cc cheap mbt
all products are good and cheap with free shipping, buy now!
jiemo