Comment concaténer deux enregistrements en un seul svp ?
4 messages
• Page 1 sur 1
Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics
- sanddy
- Nouveau WRInaute

- Messages: 23
- Inscription: 17 Mar 2006
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 ?
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 ?
- sanddy
- Nouveau WRInaute

- Messages: 23
- Inscription: 17 Mar 2006
Réexplication
Bonjour,
Je vous 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.
Cordialement,
Sandy
Je vous 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.
Cordialement,
Sandy
- sleidia
- WRInaute occasionnel

- Messages: 263
- Inscription: 8 Juil 2006
www.developpez.net est un forum plus utile pour ton problème.
4 messages
• Page 1 sur 1
Formation recommandée sur ce thème :
Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Plusieurs enregistrements, une seul requete ! probleme
- Concaténer les stats Google Analytics de plusieurs sous-domaines
- Comment fusionner 5 noms de domaine en un seul ?
- Comment on descend un frigo sur 4 étages seul ?
- 2 URLS pour un seul site : comment les référencer ?
- Concaténer deux fichiers en ligne de commande en supprimant la 1ere ligne du second (...)
- Comment interdire un seul lien et non tous ceux d'une page ?
- Comment poster sur un blog, par étape ou d'un seul coup ?
- Comment éviter DC sur des fiches produits où seul le prix est différent ?
- Comment optimiser google SVP
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
