La Communauté Webmaster  forum rss


  Forum-webmaster
  Technique - programmation
  PHP / MySQL
(Modérateurs: Shain, Jey, erwinol, Lilian, lauryv, ToToMaStEr)
  Comment concaténer deux enregistrements en un seul svp ?
« Précédent Suivant »
Pages: [1] Descendre
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
  Auteur  Sujet: Comment concaténer deux enregistrements en un seul svp ?  (Lu 701 fois)
Comment concaténer deux enregistrements en un seul svp ?
« sur: le 05-07-2007 a 15:47:39 »
sanddy
Membre récent
*

Hors-Ligne

Messages: 22



Je suis un lama!

Voir le Profil
Répondre avec citation

Bonjour,
J'ai une table de membres avec certains qui ont le même numéro de téléphone.
J'aimerais pouvoir ne former plus qu'un enregistrement, c'est-à dire que le champ "nom" aura pour valeur le "nom du membre" & "le nom de l'autre membre" avec le même numéro et dans le même enregistrement.
Comment faire svp ?

Rapporter au modérateur  

Re:Comment concaténer deux enregistrements en un seul svp ?
« Répondre #1 sur: le 06-07-2007 a 15:55:02 »
mikael
Membre récent
*

Hors-Ligne

Sexe: Male
Messages: 57



:: Webmaster ::

Voir le Profil    E-Mail
Répondre avec citation

Suffit de rajouter des colonnes 

Rapporter au modérateur  

Webmaster indépendant | Designer indépendant | Info: mikl@live.com
Re:Comment concaténer deux enregistrements en un seul svp ?
« Répondre #2 sur: le 06-07-2007 a 17:23:04 »
sanddy
Membre récent
*

Hors-Ligne

Messages: 22



Je suis un lama!

Voir le Profil
Répondre avec citation

Merci mais comment faire pour lorsque je trouve le même numéro insérer dans une autre table

Quelle est la condition, if ??

Je n'arrive pas à traduire "si plusieurs numéros sont égales alors les insérer dans l'autre colonne"...

« Dernière Édition: le 06-07-2007 a 17:23:24 par sanddy » Rapporter au modérateur  
Re:Comment concaténer deux enregistrements en un seul svp ?
« Répondre #3 sur: le 06-07-2007 a 17:51:58 »
mikael
Membre récent
*

Hors-Ligne

Sexe: Male
Messages: 57



:: Webmaster ::

Voir le Profil    E-Mail
Répondre avec citation

Alors tu fais d'abord une requête qui va voir si le numéro est déjà enregistré
Code:
if($NomDeLaColonne == $ChampNumero]
{
On insère dans une autre colonne
}
else
{
On insère dans la colonne
}

Essaie cela

Rapporter au modérateur  

Webmaster indépendant | Designer indépendant | Info: mikl@live.com
Re:Comment concaténer deux enregistrements en un seul svp ?
« Répondre #4 sur: le 09-07-2007 a 08:39:24 »
sanddy
Membre récent
*

Hors-Ligne

Messages: 22



Je suis un lama!

Voir le Profil
Répondre avec citation

Bonjour,

Je vous réexplique mon problème, j'ai une table membres (je la simplifie pour que vous compreniez mieux)
avec un numero et un nom.

Voici ma table :

CREATE TABLE membres (
  numero int(11) NOT NULL,
  nom varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

#
# Contenu de la table `membres`
#

INSERT INTO membres VALUES (1, 'martin');
INSERT INTO membres VALUES (2, 'maurice');
INSERT INTO membres VALUES (3, 'dupond');
INSERT INTO membres VALUES (1, 'dupont');
INSERT INTO membres VALUES (2, 'marcellin');
INSERT INTO membres VALUES (2, 'maret');
INSERT INTO membres VALUES (4, 'popeye');


Je souhaiterais pouvoir faire un affichage de ces enregistrements mais que lorsque le même numéro
revient, les noms puissent se concaténer.
Exemple ici :
1 donnerait martin & dupont
2 donnerait maurice, marcellin & maret
3 donnerait M. dupond
4 donnerait M. popeye

Comment faire ?

J'arrive à faire afficher les numéros et noms, voici le fichier :

<?PHP

echo "<center><h1>Test</h1></center>";

$serveur="localhost";
$utilisateur="root";
$motdepasse="";
$database="mabase";
@mysql_connect($serveur,$utilisateur,$motdepasse) or die("<CENTER><A style='color:white;background-color:red'> Désolé, problème de serveur </BODY></HTML>");

$TableRep=mysql($database,"SELECT * FROM membres ORDER BY numero") or die("<br><CENTER><A style='color:white;background-color:red'> Désolé, la table est inaccessible </BODY></HTML>");
$NombreEntrees=mysql_num_rows($TableRep);
?>
<br><table width="93%" border="0" cellspacing="0" cellpadding="0" align="center"><tr><td height="210">
<p align="justify"><font color="#000000"><b><font face="Verdana, Arial" size="2">Bienvenue sur le site<br><br>
                    </font></b>
                      </p></td></tr></table><br>


<?
 
$i=0; /* initialisation de la variable de boucle */

while ($i < $NombreEntrees) /* faire tant que la fin de la table n'est pas atteinte */
   {
   
        $numero = mysql_result($TableRep, $i, "numero");
        $nom =mysql_result($TableRep, $i, "nom");
      
      
      echo "<table><tr>";      
      echo "<font size=\"1\">";      
      echo "<td align=\"center\">";   
      echo "\"$numero\",";
        echo "</td>";
        echo "<td>";
        echo "\"$nom\",";
        echo "</td>";
        echo "</font>";
      
      
        echo "</tr></table>";
        $i++;
   }


echo "</body></html>";
?>










Maintenant, comment faire pour vouloir faire afficher ce que je veux

Actuellement, il y a :

"1", "martin",
"1", "dupont",
"2", "maurice",
"2", "marcellin",
"2", "maret",
"3", "dupont",
"4", "popeye",

Et je voudrais :

"1", "martin & dupont",
"2", "maurice, marcellin & maret",
"3", "M. dupont",
"4", "M. popeye",

Je ne vois pas où et comment faire pour afficher le "&" avec le dernier membre du même numéro.
Et s'ils sont plusieurs, mettre des virgules comme au numéro 3.
Et si le membre est le seul à avoir ce numéro, j'aimerais afficher "M. " devant.

SVP, j'ai vraiment besoin d'une aide. Merci d'avance et merci encore pour la réponse aussi.

Cordialement,

Sandy


« Dernière Édition: le 09-07-2007 a 09:03:44 par sanddy » Rapporter au modérateur  
Re:Comment concaténer deux enregistrements en un seul svp ?
« Répondre #5 sur: le 09-07-2007 a 13:33:06 »
sanddy
Membre récent
*

Hors-Ligne

Messages: 22



Je suis un lama!

Voir le Profil
Répondre avec citation

Problème résolu... 

Rapporter au modérateur  
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
Pages: [1] Monter
« Précédent Suivant »
Sauter à: 

Votre statut : Invité
Vous devez être membre pour participer.
 
 
Let’s Encrypt : le certificat SSL gratuit
Tester votre site internet sur différents navigateurs
[WordPress] Des problèmes avec l’administration ?
Rappel : Mettez à jour vos CMS et vos sites E-commerce
Le .fr fête ses 25 années d’existence !
Mesurer votre audience en temps réel avec BubbleStat
Porter réclamation contre Google Panda ?
Zlio n’est plus …
 
 
 
 
 

Copyright (c) Devclic 2002 - 2026 - Tous droits réservés

creation site internet strasbourg