Mettre plusieurs valeurs récupérées dans une cellule tableau

Utilisateur anonyme -  
Bionik Messages postés 4232 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,


Je voudrais alimenter mon tableau avec des données récupérées dans une base de données. Sa je sais faire, il s'agit d'une requête sql. Mon problèmes c'est pour mettre plusieurs valeurs dans une cellules.

Voici le cas:

Il s'agit de la gestion de stage. Un stage peut avoir plusieurs spécialité et une spécialité pour plusiseurs stage. Dans ma bdd j'ai une table spécialité, une table stage et une associative specialité-stage.
Ce que je voudrai c'est pouvoir mettre toute mes spéclalités du stage dans une même cellule dans mon tableau. Cela m'évitera d'avoir 10 lignes pour le même stage mais avec des spécialités différentes.

Merci de votre aide

A voir également:

7 réponses

Flo313Z Messages postés 121 Date d'inscription   Statut Membre Dernière intervention   6
 
montre moi ton code stp
0
Utilisateur anonyme
 
J'ai pas fait le code, c juste pour savoir si c'est possible car j'ai jamais fait
0
Flo313Z Messages postés 121 Date d'inscription   Statut Membre Dernière intervention   6
 
je comprend pas tout ...
arrête moi si je me trompe ...

en faite tu veux faire un tableau avec des cases que change en fonction de ...

pas compris XD
0
Utilisateur anonyme
 
Je ve faire un tableau qui va chercher les caractéristiques dans la bdd (code, libelle, date début, date fin, spécialité). Mais un stage peut avoir plusieurs spécialité et une spécialité peut être pour plusiseurs. Donc dans ma base j'ai trois table: stage, spécialité et associative stage-spécialité. Je voudrai éviter d'avoir 10 lignes pour le même stage avec des spécialités différentes dans mon tableau. Je veux une seule ligne par stage et s'il y a plusieurs spécialités, je ve les mettre dans la même cellule.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Flo313Z Messages postés 121 Date d'inscription   Statut Membre Dernière intervention   6
 
dit moi si je me trompe
ton problème tableau :
[code, libelle, date début, date fin, spécialité]
[www, www, wwwwww, wwwww, ----1----]
[xxxx, xxxxx, xxxxxxxxxx, xxxxxxxx, ----1----]
[yyyy, yyyyy, yyyyyyyyyy, yyyyyyyy, ----2----]
[zzzz, zzzzz, zzzzzzzzzz, zzzzzzzz, ----1----]

ta solutiontableau :
[www, www, wwwwww, wwwww, ----1----]
[xxxx, xxxxx, xxxxxxxxxx, xxxxxxxx, ----1----]
[zzzz, zzzzz, zzzzzzzzzz, zzzzzzzz, ----1----]
[yyyy, yyyyy, yyyyyyyyyy, yyyyyyyy, ----2----]
0
Utilisateur anonyme
 
mon tableau qui est
code, libelle, date début, date fin, spécialité
xxxx, xxx, xxxx, xxxx, 1
xxxx, xxx, xxxx, xxxx, 2
yyyy, yyy, yyyy, yyyy, 1

je veut que sa soit ça:
code, libelle, date début, date fin, spécialité
xxxx, xxx, xxxx, xxxx, 1 - 2
yyyy, yyy, yyyy, yyyy, 1
0
Flo313Z Messages postés 121 Date d'inscription   Statut Membre Dernière intervention   6
 
a mon avis avec la fonction foreach() et array() tu devrais y arrivé :)

jette un coup d'oeil :
http://www.phpdebutant.org/article11.php
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
ou alors avec plusieurs requetes

<?php
//.....
$sql1="SELECT * FROM ta_table_stage GROUP BY code";
$result_stages=mysql_query($sql1);

while($stage=mysql_fetch_assoc($result_stages)){
	echo '<tr>';
	echo '<td>'.$stage['code'].'</td>';
	echo '<td>'.$stage['libelle'].'</td>';
	//etc.. pour les colonnes stage
	
	$sql2="SELECT * FROM ta_table_association_stage_spec WHERE ton_champ_code_stage='".$stage['code']."' ";
	$result_spec=mysql_query($sql2);
	echo '<td>'; //colonne specialités
	$cpt=1;
	while($spec=mysql_fetch_assoc($result_spec)){
		//gestion saut de ligne à l'interieur du td
		if($cpt >1) echo '<br />';
		//affichage spécialités
		echo $spec['champ_nom_specialite'];
				
		$cpt++;
	
	}
	echo '</td>'; //fin colonne spécialités
	
	echo '</tr>'; //fin ligne
}
0
Utilisateur anonyme
 
J'utilise pas la table spécialité?
0
Bionik Messages postés 4232 Date d'inscription   Statut Modérateur Dernière intervention   185
 
Salut,

Tout d'abord tu dois faire une jointure entre tes différentes tables dans une requête SQL ensuite parcourir le résultat dans une boucle foreach et les afficher dans le tableau.
0
Utilisateur anonyme
 
si je parcours les résultats, sa va bien m'afficher toute les spécialité pour le même stage dans une seule cellule et non une ligne pour chaque spécialité?
0
Bionik Messages postés 4232 Date d'inscription   Statut Modérateur Dernière intervention   185
 
A priori si tu fais bien ta jointure et que tu parcours le tableau avec une boucle foreach, ça devrait passer!
0