Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/10/2011, 06h15   #1
Membre du Club
 
Inscription : janvier 2007
Messages : 410
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 410
Points : 56
Points : 56
Par défaut Affichage en distingtion

Bonjour,

J'ai 2 tables (chansons et etudiants), je voudrais affiches les etudiant avec les chanson qui ont ecoute ainsi que le type:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
 
 
--
-- Table structure for table `chansons`
--
 
CREATE TABLE IF NOT EXISTS `chansons` (
  `id` int(2) NOT NULL auto_increment,
  `idt` tinyint(2) NOT NULL,
  `chanson` varchar(20) collate latin1_general_ci NOT NULL,
  `type` tinyint(2) NOT NULL,
  `ref` tinyint(2) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=10 ;
 
--
-- Dumping data for table `chansons`
--
 
INSERT INTO `chansons` (`id`, `idt`, `chanson`, `type`, `ref`) VALUES
(1, 1, 'Chanson1', 1, 1),
(2, 1, 'Chanson2', 1, 0),
(3, 1, 'Chanson3', 2, 0),
(4, 2, 'Chanson2', 2, 0),
(5, 1, 'Chanson1', 2, 0),
(6, 1, 'Chanson1', 3, 0),
(7, 1, 'Chanson1', 1, 1),
(8, 1, 'Chanson1', 1, 1),
(9, 1, 'Chanson1', 1, 0);
 
-- --------------------------------------------------------
 
--
-- Table structure for table `etudiants`
--
 
CREATE TABLE IF NOT EXISTS `etudiants` (
  `id` int(2) NOT NULL auto_increment,
  `nom` varchar(20) collate latin1_general_ci NOT NULL,
  `prenom` varchar(20) collate latin1_general_ci NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=3 ;
 
--
-- Dumping data for table `etudiants`
--
 
INSERT INTO `etudiants` (`id`, `nom`, `prenom`) VALUES
(1, 'Jean', 'Jacque'),
(2, 'Franklin', 'Albert');
type veut dire: type de la chanson (genre: rock,..) et ref (quelle reference: CD, Site,..)

je veux mettre des resultats sans doubler le type et ref du meme etudiant.

le resultat souhaitable est:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
Jean Jacque:
'Chanson1', 1, 1
 
Jean Jacque:
'Chanson2', 1, 0
 
Jean Jacque:
'Chanson3', 2, 0
 
Jean Jacque:
'Chanson1', 2, 0
 
Jean Jacque:
'Chanson1', 3, 0
 
 
Albert Franklin:
'Chanson2', 2, 0
J'ai fait DISTINCT, mais ca marche pas avec 2 champs.

merci
isitien est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2011, 09h53   #2
Membre habitué
 
Avatar de rinuom99
 
Étudiant
Inscription : août 2007
Messages : 238
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2007
Messages : 238
Points : 125
Points : 125
Envoyer un message via MSN à rinuom99
essayer avec GROUP by
rinuom99 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2011, 10h12   #3
Membre du Club
 
Inscription : janvier 2007
Messages : 410
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 410
Points : 56
Points : 56
Code :
1
2
3
4
5
6
$query = 'SELECT * FROM chansons WHERE idt = "'.$id.'" GROUP BY type, ref';
// ici je fais l'affichage des resultats pour chanson1
 
Jean Jacque: Chanson1, 1, 1
Jean Jacque: Chanson1, 2, 0
Jean Jacque: Chanson1, 3, 0
alors que je veux:
Code :
1
2
3
4
5
 
Jean Jacque: 
Chanson1, 1, 1
Chanson1, 2, 0
Chanson1, 3, 0
isitien est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/10/2011, 06h46   #4
Membre du Club
 
Inscription : janvier 2007
Messages : 410
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 410
Points : 56
Points : 56
est ce qu'il y a une possibilite de l'afficher comme suite:

Citation:
Jean Jacque: Chanson1, 1, 1
Jean Jacque: Chanson1, 2, 0
Jean Jacque: Chanson1, 3, 0
isitien est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2011, 13h32   #5
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 661
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 661
Points : 5 388
Points : 5 388
Tu peux afficher les résultats d'une requête à peu près comme tu veux (dans les limites du raisonnable)
Peut-être que si tu nous montrais ton code actuel d'affichage, on pourrait le modifier pour obtenir le résultat que tu veux
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h53.


 
 
 
 
Partenaires

Hébergement Web