Comment concaténer deux enregistrements
sanddy
-
sanddy -
sanddy -
Comment concaténer deux enregistrements en un seul svp ?
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 ?
ex :
ma table membre contient : nom, telephone
et les enregistrements sont :
moreau 0456545434
durand 0493049404
bernard 0456545434
J'aimerais que bernard et moreau ne forme plus qu'un enregistrement et ça donnerait :
moreau & durand 0456545434
Merci pour votre aide.
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 ?
ex :
ma table membre contient : nom, telephone
et les enregistrements sont :
moreau 0456545434
durand 0493049404
bernard 0456545434
J'aimerais que bernard et moreau ne forme plus qu'un enregistrement et ça donnerait :
moreau & durand 0456545434
Merci pour votre aide.
A voir également:
- Comment concaténer deux enregistrements
- Concatener deux cellules excel - Guide
- Comment faire deux colonnes sur word - Guide
- Comment enregistrer une conversation entre deux personnes ? - Guide
- Nombre de jours entre deux dates excel - Guide
- Deux ecran pc - Guide
2 réponses
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 & dupont
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.
Cordialement,
Sandy
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 & dupont
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.
Cordialement,
Sandy