Fusion d'enregistrement

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Fusion d'enregistrement

par CoiKispiCs » 06 févr. 2006, 15:45

merci beaucoup Hubert Roksor ta fonction marche pour l'affichage

comme j'ai pas trouver comment faire pour changer dans la base de données j'ai fais les changements dans l'affichage de la requete et ça marche :D


merci a vous tous pour avoir répondu aussi vite :)

@ bientot mais j'espere pour d'autre raisons que des problemes de base de données :lol:

par Hubert Roksor » 03 févr. 2006, 22:44

Regardez son exemple, je crois qu'il veut grouper les enregistrements par ID. "1 HP 4000 D214, HP4550 Couleur A153"

CoiKispiCs, essaie ça comme requête:

Code : Tout sélectionner

SELECT ID, GROUP_CONCAT(Printer) AS Printers FROM PRINTERS GROUP BY ID
Attention, cette requête ne modifie pas tes données, juste la façon dont elles sont affichées. Plus d'infos: GROUP_CONCAT

par Cyrano » 03 févr. 2006, 20:56

Je vais me lancer un peu à l'aveuglette : tu voudrais récupérer le contenu sans doublons de la table "printers" pour le mettre dans une table "imprimantes" : Si c'est ça, une seule et unique requête :

Code : Tout sélectionner

INSERT INTO `IMPRIMANTES` (printer) VALUES(SELECT DISTINCT(Printer) FROM `PRINTERS`);
Sauf erreur de ma part, ça va faire le trasfert directement. Je n'ai pas ajouté les clés primiares de la table PRINTERS pas plus que je n'ai précisé celle de la table IMPRIMANTES, si ton champ id est de type INT auto_increment, la numérotation sera automatique.

par zehle » 03 févr. 2006, 18:56

si j'ai bien compri tu as une table PRINTERS, tu voudrai crée une autre table disant Imprimentes à partir de ta premiere table.

tu fait comme suit (tout en sachant que ce n'est pas optimisé):

mysql_connect("host","login","pass");
mysql_select_db("base_de_données");

$sql="select id from PRINTERS";
$res=mysql_query($sql)
while(list($id)=mysql_fetch_array($res))
{
  $sql1="select printer from PRINTERS where id=$id";
  $res1=mysql_query($sql1);
  while(list($nom)=mysql_fetch_array($res1))
    $noms=$noms." , " $nom;
   
  //insertion des données dans la nouvelle table.
  $sql2="insert into IMPRIMENTES(id,printer) values ($id, '$noms')";
  mysql_query($sql2);
}

mysql_close();
voilà !!!

par CoiKispiCs » 03 févr. 2006, 17:28

excuse moi je me suis peut etre mal exprimé :lol:

ce que je voudrais c'est une requete sql qui permet de regrouper les champs de même "ID"

je sais pas si c'est plus clair :)

Re: Fusion d'enregistrement

par albat » 03 févr. 2006, 17:22

ce que je voudrais c'est de mettre un champ id et un champ printer
Euh... ce n'est pas déjà ce que tu as ? :shock:
ce que je voudrais c'est avoir le langage sql
car pour l'instant il n'y a que 3 enregistrement
mais je suis ammener a en mettre beaucoup plus
J'ai un peu de mal à comprendre tes demandes...

Fusion d'enregistrement

par CoiKispiCs » 03 févr. 2006, 17:11

Bonjour a vous !! :D

voilà mon problème, j'ai une base de données sous mysql avec plusieurs tables (jusque là tout vas bien :lol: )

le soucis c'est que j'ai une table PRINTERS :

Image

ce que je voudrais c'est de mettre un champ id et un champ printer

exemple :

id printer
1 HP 4000 D214, HP4550 Couleur A153

au lieu d'avoir comme dans l'image,

ce que je voudrais c'est avoir le langage sql car pour l'instant il n'y a que 3 enregistrement mais je suis ammener a en mettre beaucoup plus


merci d'avance :) :)